c – 如何将事件发送到多个线程
发布时间:2020-12-16 09:37:56 所属栏目:百科 来源:网络整理
导读:如何将事件发送到我的应用程序的几个正在运行的线程? 例如:我的主线程想要通知应用程序将退出的所有正在运行的线程. 我有点困惑哪些可能性导致一个简单可靠的解决方案: condition_variable,来自boost的notify_all CONDITION_VARIABLE与WinApi中的WakeAllC
如何将事件发送到我的应用程序的几个正在运行的线程?
例如:我的主线程想要通知应用程序将退出的所有正在运行的线程. 我有点困惑哪些可能性导致一个简单可靠的解决方案: > condition_variable,来自boost的notify_all 你能指出一个初学者正确的方向,也许还有一些关于我提供的可能性的话. 补充: – 操作系统是Windows XP 解决方法
鉴于您希望“发出应用程序将退出的所有正在运行的线程的信号”,手动重置甚至可以解决问题.
您需要让每个线程偶尔检查一次事件,并在事件已发出信号后退出. 然后,您只需发出事件信号并等待线程完成(如果需要). 如果您需要多次执行此操作会更复杂,因为必须手动重置手动重置事件,并且您需要更多代码以确保每个线程在重置事件之前都收到通知,以便在后续通知中使用,但是鉴于你的问题,这将工作得很好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |