WaitForSingleObject( (HANDLE)handle , timeout );

lyd_253261362 2009-12-04 03:27:01
timeout =-1;
WaitForSingleObject( (HANDLE)handle , timeout );
问什么程序有时候,会挂在这里,走不下去。。。。
...全文
118 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hslinux 2009-12-05
  • 打赏
  • 举报
回复
timeout =5000;
WaitForSingleObject( (HANDLE)handle , timeout ); //等待5秒,无响应返回WAIT_TIMEOUT
hweihw 2009-12-05
  • 打赏
  • 举报
回复
在没得通知前 一直挂起

INFINITE
lori227 2009-12-05
  • 打赏
  • 举报
回复
一般 WaitForSingleObject 都不在主线程里执行。。会阻塞!
davyaxl 2009-12-04
  • 打赏
  • 举报
回复
你等待时间设置的是永久等待,而等待的那个线程函数一直没有返回。当然就卡这里了
zywhuiss 2009-12-04
  • 打赏
  • 举报
回复
我第一次写线程的时候就这样。后来发现是我的UI线程在WaitForSingleObject(线程),而线程在SendMessage( hWnd),这应该就是所谓的死锁吧。窗口等待线程的执行完成,而线程望窗口发送消息等待消息处理后返回。就这样一直挂着。
lyd_253261362 2009-12-04
  • 打赏
  • 举报
回复
但是函数不返回啊,一直挂在这里啊。。
kouwenlong 2009-12-04
  • 打赏
  • 举报
回复
timeout =-1;?时间间隔
WingForce 2009-12-04
  • 打赏
  • 举报
回复
因为WaitForSingleObject是阻塞函数
阻塞意味著,如果handle不是通知状态,则系统会强制当前线程退出时间片。直到handle处于通知状态,系统会从这个函数返回,当前线程得以继续执行

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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