Sleep(0)与Sleep(1)区别
发布日期:2021-06-28 22:05:00
浏览次数:4
分类:技术文章
本文共 831 字,大约阅读时间需要 2 分钟。
1、问题
在线程中我们会经常按如下写代码,Sleep(0)比Sleep(1)更容易获得时间片
DWORD WINAPI SampleThread(PVOID pvParam){ while ( true ) { // do something Sleep(1); } return 0x50;}
2、原因
MSDN说明如下:
Remarks This function causes a thread to relinquish the remainder of its time slice and become unrunnable for at least the specified number of milliseconds, after which the thread is ready to run. In particular, if you specify zero milliseconds, the thread will relinquish the remainder of its time slice but remain ready. Note that a ready thread is not guaranteed to run immediately. Consequently, the thread may not run until some time after the specified interval elapses. For more information, see Scheduling Priorities.
Sleep(1)导致线程释放剩余的时间片,并停止运行至少1毫秒,然后恢复为就绪状态。
Sleep(0)导致线程释放剩余的时间片,并立即进入就绪状态。
所以如果有两个同等优先级的线程一个使用Sleep(1),一个使用Sleep(0),后者将更多的抢到时间片。
转载地址:https://blog.csdn.net/yfh1985sdq/article/details/113756525 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月21日 13时27分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C# WPF DataGrid 根据某列的值设置行的背景色
2019-04-29
C# 实现多语言界面
2019-04-29
限制用户输入 只能是数字,小数,负数。
2019-04-29
Click Once不能正常安装的问题
2019-04-29
C#判断网络IP是否通畅
2019-04-29
MVC4数据注解和验证
2019-04-29
解决VS2015发布后提示“$未引用”的问题。
2019-04-29
将excel中的数据导入到DataTable中
2019-04-29
Web页面取得当前日期
2019-04-29
让整个table居于页面正中,(上下左右居中)。
2019-04-29
wince 截全屏、截屏工具
2019-04-29
C# 中的回车换行符
2019-04-29
C#WinCE 记录日志文件
2019-04-29
C# 读写XML文件,用于配置文件
2019-04-29
PC端到WinCE端文件互相拷贝
2019-04-29
遍历文件夹及子文件夹中的所有文件
2019-04-29
MVC 实现数据导入Excel,并在客户端下载。
2019-04-29
Jquery 实现文本框键盘回车事件
2019-04-29
JQuery 循环读取table中的数据
2019-04-29