关于同步的疑问

baobao2010 2008-05-04 08:32:53
关于同步的疑问:



程序里用到了多线程,在子线程里读串口,当所有数都读完了以后,就退出程序,问题是,
这里的读串口和判断是否数据都已经读完了的操作,都必须放在,
WaitForSingleObject(hMutex,INFINITE);和
ReleaseMutex(hMutex);
之间;
如果在这里退出的话,那后面的 ReleaseMutex(hMutex);
就没法执行,如果在 ReleaseMutex(hMutex);之后退出的话,
他又没有得到同步。这个问题究竟该怎么办呢?
...全文
66 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbger 2008-05-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 baobao2010 的回复:]
我的做法跟你的类似,我在这里用了一个m_run来指示是否结束
但是我想知道有没有更“正统”的做法,也就是
更具有代表意义,更通用的做法。
嘿嘿。
[/Quote]

用保证数据安全,肯定要牺牲性能。等大牛来给出好的解决方案。
baobao2010 2008-05-04
  • 打赏
  • 举报
回复
我的做法跟你的类似,我在这里用了一个m_run来指示是否结束
但是我想知道有没有更“正统”的做法,也就是
更具有代表意义,更通用的做法。
嘿嘿。
dbger 2008-05-04
  • 打赏
  • 举报
回复
再用一个互斥量
haierhaha 2008-05-04
  • 打赏
  • 举报
回复
可否考虑用postmessage向应用程序发送读完的消息

15,466

社区成员

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

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