关于线程的同步~~~

sursure 2005-08-30 11:00:58
我的程序有一个主线程和一个工作线程,我现在想用工作线程处理些计算,然后主线程继续运行,等子线程计算完成后,通知主线程完成计算,然后主线程接收数据。主要是主线程不要等待子线程,和整个程序的执行效率(如:不要主线程循环查询,它本身有其他重要事情)。这是个很简单的同步问题,希望各位能给出较为理想的解决方案。

...全文
88 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DentistryDoctor 2005-08-31
  • 打赏
  • 举报
回复
工作线程工作结束后向主线程发送自定义消息就可以了。
PostMessage.
qq_lhz 2005-08-31
  • 打赏
  • 举报
回复
你看这样可不可以:
1.有数据要计算,那么就启动一个辅助线程去完成计算,主线程继续工作
2.辅助线程计算完毕后,通过SendMessage()/PostMessage()发送消息给主线程
3.主线程收到消息,接收相关结果数据

这里面要对用到的资源做些同步的工作,比如: 共用的数据块,可以用一些同步的方式,如Critical Section、Mutex、Semaphore等.
wwwzhifeiji 2005-08-31
  • 打赏
  • 举报
回复
借问一下,如果有多个辅助线程,应该怎么做同步?
线程个数还不确定,就是每次运行是可能个数不一样
wangyangcheng 2005-08-30
  • 打赏
  • 举报
回复
Global variant、Critical Section、Mutex、Semaphore

多种机制都可以实现,自己去选择吧。

15,471

社区成员

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

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