是boost :: asio :: thread_pool线程在多个线程上发布任务时的安全性
Is boost::asio::thread_pool thread safe when posting tasks on multiple threads?
我正在同时提交多个任务:: asio :: thread_pool。但是官方文档并未谈论boost :: asio :: thread_pool。
Boost Lib版本为1.69。和我的代码如下:
/*define a thread pool*/
boost::asio::thread_pool pool(4);
//on thread 1
boost::asio::post(pool, my_task_1);
...
//on thread 2
boost::asio::post(pool, my_task_2);
所以我想知道可以在多个线程上使用的代码
boost::asio::post
使用执行程序将任务发布到线程池中。执行人要求在此链接下描述。句子之一是
执行人复制构造函数,比较操作员和其他成员 这些要求中定义的功能不得引入数据竞赛 由于同时呼叫来自不同的功能 线程。
因此,您的代码是安全的,您可以从多个线程调用post
。
相关文章:
- 如何创建线程序列以按照启动顺序执行任务?
- C++一个线程如何正确通信其任务已完成?
- 对于同一任务,线程的等待时间在 0 到 30000 微秒之间系统地切换
- 在iOS设备上执行并发任务时如何设置正确的线程数?
- 如何从父线程中提取 pthread 的任务 id(tid)
- 根据硬件并发性将任务平均划分为线程
- C++生产者使用者中,同一使用者线程会抓取所有任务
- 正在执行 omp 任务的线程数
- 您可以在 OpenMP 中将特定线程 ID 分组到唯一的任务组中吗?
- 是boost :: asio :: thread_pool线程在多个线程上发布任务时的安全性
- asio::strand 上的任务在单个线程上运行
- 如何在C++中创建高效的多线程任务计划程序
- 如何在多个线程上正确分发任务
- 在多线程中调度任务
- Poco任务管理器/Boost线程混合和匹配
- 将执行从一个线程移动到另一个线程,以实现任务并行性并在将来调用
- 使用C 多任务.线程或不同的设计
- 如何处理任务,同时剩余的线程完成工作
- 多线程任务总体进度报告的设计模式
- 在OpenMP中屈服于其他线程/任务