Sleep() 時,CPU 在干什麼?

fox1999 2008-03-31 05:05:52
Sleep() 時,CPU 在干什麼?

我一直不明白。Sleep 時,CPU在干什麼?在 DOS 下編程時,CPU是不能停下來的,要延時,就只能用空循環,耗CPU時間。

Windows 下情況不一樣了。CPU 有很多空閒的時間,我想問,CPU空間時,它在執行什麼代碼?
...全文
332 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fisery 2008-04-06
  • 打赏
  • 举报
回复
cpu若有其他的任务就会切换到其他任务,同时计时直到sleep结束,没有其他任务则在空闲等待。
vc8fans 2008-04-06
  • 打赏
  • 举报
回复
Sleep(0); 切换到其它线程里
用户 昵称 2008-04-05
  • 打赏
  • 举报
回复
sleep时cpu就是在睡觉,在你的程序看来.
zhoujianhei 2008-04-03
  • 打赏
  • 举报
回复
Sleep

很明显它在睡觉。

WingForce 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 holylts 的回复:]
引用 7 楼 codewarrior 的回复:
进入Sleep的是线程,不是CPU。
如果没有可用的用户进程了,就会执行一个空转进程,这个进程一般就是收集一些数据。


正解!
[/Quote]

恩,貌似也在不停的把不用的页清0
Jasonli8205 2008-04-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 codewarrior 的回复:]
进入Sleep的是线程,不是CPU。
如果没有可用的用户进程了,就会执行一个空转进程,这个进程一般就是收集一些数据。
[/Quote]

正解!
m_tornado 2008-04-03
  • 打赏
  • 举报
回复
操作系统讲的很清楚,建议看看:)
会思考的草 2008-04-03
  • 打赏
  • 举报
回复
进入Sleep的是线程,不是CPU。
如果没有可用的用户进程了,就会执行一个空转进程,这个进程一般就是收集一些数据。
WingForce 2008-04-03
  • 打赏
  • 举报
回复
也有可能在内核里面处理中断什么的,呵呵
scq2099yt 2008-04-03
  • 打赏
  • 举报
回复
如果是单线程就在死等,如果是多线程就切换到其他线程乐
fox1999 2008-03-31
  • 打赏
  • 举报
回复
我明白了,應該是 System Idle Process 這個進程
muzizongheng 2008-03-31
  • 打赏
  • 举报
回复
同意,
ddzz2001 2008-03-31
  • 打赏
  • 举报
回复
楼上正解
ouyh12345 2008-03-31
  • 打赏
  • 举报
回复
切换到其它线程里

2,641

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧