我的程序有一个主线程和一个工作线程,我现在想用工作线程处理些计算,然后主线程继续运行,等子线程计算完成后,通知主线程完成计算,然后主线程接收数据。主要是主线程不要等待子线程,和整个程序的执行效率(如:不要主线程循环查询,它本身有其他重要事情)。这是个很简单的同步问题,希望各位能给出较为理想的解决方案。
解决方案 »
- [ODBC]是不是每执行一次SQLExecDirect()就要分配一个SQL_HANDLE_STMT句柄?
- 使用Winsocket模拟登陆,recv到服务器回复Connection: close,无法执行后续操作!!!!!
- [Help]从MJPEG视频流数据包中,解析出FFD8和FFD9之间部分!
- DLL导出窗口求助
- 开源c++ builde--山寨个c++ builde项目
- 加入xp皮肤manifest后关闭程序报错?
- rundll32为什么传递参数不正确
- 在单文档显示前弹出登录对话框
- (散分!)考验你的基本功。回答对问题可得分。
- 请教VC的学习方法
- 能不能钩到某个程序所调用的API函数的参数是多少?
- 问:网络通信编程,选java还是c++?
1.有数据要计算,那么就启动一个辅助线程去完成计算,主线程继续工作
2.辅助线程计算完毕后,通过SendMessage()/PostMessage()发送消息给主线程
3.主线程收到消息,接收相关结果数据这里面要对用到的资源做些同步的工作,比如: 共用的数据块,可以用一些同步的方式,如Critical Section、Mutex、Semaphore等.
PostMessage.