C++ 多线程阻塞 (多线程同步)(MsgWaitForMultipleObjects)
来源:互联网 发布:java http 幂等 编辑:程序博客网 时间:2024/06/08 02:46
在主线程定要禁止使用waitforsingleobject(),原因是会阻塞主线程的消息循环,所以必须使用另一种 MsgWaitForMultipleObjects,即可以让消息通过,下面就是一个基于MsgWaitForMultipleObjects与Event,实现多线程同步这样。
HANDLE g_Handle;//全局的句柄g_Handle=CreateEvent(NULL,FALSE,FALSE,NULL);ResetEvent(g_Handle); //无信号,即阻塞了//block here till the event was signalwhile(TRUE){ DWORD result; MSG msg; result=MsgWaitForMultipleObjects(1,&g_Handle,FALSE,INFINITE,QS_ALLINPUT); if(WAIT_OBJECT_0 == result) break; PeekMessage(&msg,NULL,0,0, PM_REMOVE); DispatchMessage(&msg);}//在另一个线程调用setEvent(g_Handle);即变为有信号状态,阻塞即解除//do something~
更多文章:http://blog.csdn.net/what951006?viewmode=list
powered by:小乌龟在大乌龟背上~
阅读全文
0 0
- C++ 多线程阻塞 (多线程同步)(MsgWaitForMultipleObjects)
- 多线程(C++)同步Semaphore
- 多线程(C++)同步Mutex
- 多线程(C++)同步Semaphore
- 多线程(C++)同步Mutex
- 多线程同步(C++)event
- 多线程和MsgWaitForMultipleObjects
- 多线程和MsgWaitForMultipleObjects
- 多线程同步 -(C++)主要函数
- 多线程同步(C++)WIN API
- Java 简易C/S结构多线程聊天室 (阻塞式)
- 多线程同步(一)
- 多线程同步(二)
- 多线程同步(三)
- 多线程二 (同步)
- 多线程同步(Lock)
- 多线程(同步锁)
- 多线程(5)同步
- android drawable-hdpi xhdpi xxhdpi xxxhdpi 的理解
- 路面检测
- 如何用post方式上传json数据(AFNetworking)
- word 2007被强制关闭后打开速度极慢的问题
- 冒泡排序和快速排序
- C++ 多线程阻塞 (多线程同步)(MsgWaitForMultipleObjects)
- H.264并行解码算法分析
- Linux 搭建svn版本库
- 微信小程序开发常用技巧(3)——wx.showModal中content换行
- POJ1751Highways
- mysql数据库的完整备份、差异备份、增量备份
- Linux下堡垒机环境部署记录(1)-Jumpserver安装
- warning: function declaration isn’t a prototype(函数声明不是原型)的解决办法
- HTTP头部信息