WaitForSingleObject要进入内核态吗?

miliggate 2013-11-09 05:22:31
WaitForSingleObject要进入内核态吗?
...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
miliggate 2013-11-10
  • 打赏
  • 举报
回复
引用 2 楼 ysjyniiq 的回复:
当然要进了。 假设有N个线程要WaitForSingleObject一个自动的 Event, 当一个Event被Signal 后,如果WaitForSingleObject不进内核状态,岂不有好个线程都waitfor成功了? 这样显示然是很危险的,多线程设计就变得非常不可控,为了避免这种坑爹的情况,M$必须让它进内核状态。
擦。。本来想写调度的,进入内核态的话效率就坑了
ysjyniiq 2013-11-10
  • 打赏
  • 举报
回复
当然要进了。 假设有N个线程要WaitForSingleObject一个自动的 Event, 当一个Event被Signal 后,如果WaitForSingleObject不进内核状态,岂不有好个线程都waitfor成功了? 这样显示然是很危险的,多线程设计就变得非常不可控,为了避免这种坑爹的情况,M$必须让它进内核状态。
threenewbee 2013-11-09
  • 打赏
  • 举报
回复
没看过Windows源代码,但是估计它只是调用ntdll中更底层的函数,它本身不进入内核态。 不过如果你是说它的调用堆栈是否进入的话,应该是的。事实上,即便你调用printf,都会最终步入内核态调用显卡的驱动程序绘制屏幕。

15,471

社区成员

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

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