c++ - 是否有使用 c++11 的并发原语的合适的 wait_any 实现?

标签 c++ c++11 concurrency

是否有使用 c++11 的并发原语的合适的 wait_any 实现?

或者如何在 c++11 的 mutex、condition_variable、... 中实现它?

实现它的总体思路和算法是什么,不仅有c++11,还有原生Linux系统调用和pthread?

wait_any 正在等待 vector/数组中的任何 futures 可用,或者多个 condition_variables 中的任何一个被发出信号,等等......

最佳答案

when_any 在 C++ std 中不存在。

通常我最终会使用消息的生产者-消费者队列。任何供应商都可以在队列中排队消息(例如“我准备好了”)。

等待许多此类队列的许多线程最终变得非常复杂。

实际上,您从 C++ std 基元构建东西,您不直接在客户端代码中使用它们。

关于c++ - 是否有使用 c++11 的并发原语的合适的 wait_any 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43256274/

相关文章:

c++ - boost::exists 表示符号链接(symbolic link)不取消引用

c++ - STL priority_queue 复制比较器类

java - 2个线程如何同时访问一个同步块(synchronized block)?

c# - 如何确保无间隙和安全的发票编号生成(法律问题)

c++ - 扩展两个类的参数的语法

c++ - 根据其成员子对象之一的地址计算对象的地址

c++ - 类方法定义后的实现

c++ - 什么是智能指针,什么时候应该使用?

Node.js:同时处理多个非常繁重的请求,对所有请求进行单一响应

c++ - 我应该如何在 C++ 中正确使用 FormatMessage()?