c++ - 如何让线程在 std::list 上等待一个值?

标签 c++ multithreading

我有一个典型的场景: 假设线程 A 和线程 B 将访问 std:list。 线程 A 将把一个项目插入列表,线程 B 将从列表中弹出该项目。

我的问题是:如何让线程 B 等待,直到队列中有数据。

最佳答案

您可能不想使用 std::list,而是使用内置线程安全的容器,例如 boost::lockfree::queueTBB concurrent_queue .

关于c++ - 如何让线程在 std::list 上等待一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27231884/

相关文章:

c++ - 删除 visual studio 标题中的 void 指针

c++ - 将网格内的数字转换为其对应的 x,y 坐标

c++ - 多线程文件流

Java多线程查询

java - SimpleDateFormat解析异常和替代方法差异

c++ - 使用 Qt QPainter 和 QSvgGenerator 创建的 SVG 裁剪到视口(viewport)大小

关于哈希表的 C++ 问题

使用有限线程的 Java 并发

java - 线程: Shared Resource special situation

multithreading - F# 每秒生成一个新的异步请求