gpt4 book ai didi

c++ - 在 C++ 中执行跨平台线程间通知的好方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 12:16:38 29 4
gpt4 key购买 nike

场景:- 我的主 (UI) 线程(线程“M”)运行,并启动一个工作线程(“W”)以使用某些硬件进行控制。- “W”想每隔一段时间向“M”发送进度通知。- notification-invocation 不能阻塞“W”...“W”需要调用并立即返回; “M”将异步处理通知并且不会向“W”返回任何内容。- “M”必须通过线程“M”上运行的回调通知。- 必须能够传递数据(不要担心数据的线程安全性)。

.NET 在它的 System.ComponentModel.AsyncOperation 类中有这样的功能,但我想创建跨平台代码,而不仅仅是 .NET 甚至严格的 Win32(尽管我的第一个平台是 Win32 上的原生 c++) .

使用 Boost 会更好。

我读过这个: Boost: Fire and forget asynchronous function call?但我想知道是否有比启动额外的辅助线程更简单的需求。

任何想法和/或链接将不胜感激!-戴夫

最佳答案

如果您使用 Boost.Thread那么你可以使用 condition variable .

关于c++ - 在 C++ 中执行跨平台线程间通知的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7423175/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com