c# - C# Thread.Sleep(0) 是什么意思?

标签 c#

是否意味着没有延迟?

一本书说如下 **

Thread.Sleep(0) relinquishes the thread’s current time slice immediately, voluntarily handing over the CPU to other threads.

**

这是否意味着即使应该执行一条语句,为 sleep 设置 0 也会暂时跳过执行?

最佳答案

0 表示控制权返回线程之前没有最短时间段。但是,如果此时有任何其他线程准备运行,它们很可能会被调度,因此您的线程将休眠一段非零时间。

对于您指定的任何其他时间段也是如此 - Sleep(N) 意味着它应该休眠指定时间的最小值,但可能会任意休眠一些时间更长的时间。

同时,Sleep(0) 确实意味着如果没有其他线程准备运行,控制权可以/将立即返回到您的线程。

关于c# - C# Thread.Sleep(0) 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17376601/

相关文章:

c# - 使用 Task.Factory.StartNew 新创建的线程启动非常慢

C# 字符串 4096 限制?

c# - 您可以通过使用其构造函数来创建嵌套列表的深拷贝吗?

c# - MVC Controller 的 AJAX 参数不是 NULL?

c# - 如何使用 MVVM 在 wpf 中以编程方式在选项卡项中添加控件

c# - 如何检查类型是否符合 C# 中的非托管约束?

c# - 在 C# 中将类成员引用为枚举

c# - 更改 Gridview 页面后,Gridview 不会重新绑定(bind)数据

c# - 如何为dotnet应用创建docker镜像?

C# Entity Framework ANSI NULL OFF