|
|
1
19
您的线程正在与其他线程共享CPU时间。再次轮到您时,睡眠将立即结束,内核会注意到睡眠时间已过,因此这并不准确。 CPU负载、进程优先级、并发线程数,甚至来自其他进程,都会对其产生影响。 |
|
|
2
7
睡眠不用于精确唤醒。事实上,windows体系结构本身并不适用于这种情况。 |
|
|
3
3
在快速的实验中,我注意到一个代码片段,如。。。 执行{Debug.WriteLine(DateTime.Now.TimeOfDay.totalmillizes.ToString();}while(1);
看起来Windows计时器的粒度为1/64秒。如果你需要比这更好的东西,那么我会感觉到你的痛苦,但这是你必须适应的框架。(Windows不是硬实时操作系统,也不自称是)。 |
|
|
4
2
请记住,如果您需要时间精确的进程或同步,那么使用windows中的正常进程很难实现这一点。您需要利用windows实时优先级来成功地实现精确的计时或节流,因为如果任何线程被另一个线程抢占,windows可以在任何时候休眠任何线程。 |
|
|
5
1
在一个我想睡眠至少x毫秒的应用程序中,我使用了一些类似以下的代码:
根据线程的精确程度,睡眠是不精确的。我认为分辨率大约在10毫秒左右。除了“大约”这么长的时间,它不能保证做很多事情。 |
|
6
-1
|
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 11 月前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 11 月前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 11 月前 |
|
|
András Takács · Python多线程问题 1 年前 |
|
|
András Takács · Python多线程错误 1 年前 |