C++ 在多个线程上发布任务时,boost::asio::thread\u pool线程安全吗?
我同时向boost::asio::thread\u池提交多个任务。但官方文件并没有提到boost::asio::thread\u池的线程安全性 boostlib版本是1.69。我的代码如下:C++ 在多个线程上发布任务时,boost::asio::thread\u pool线程安全吗?,c++,boost,thread-safety,asio,C++,Boost,Thread Safety,Asio,我同时向boost::asio::thread\u池提交多个任务。但官方文件并没有提到boost::asio::thread\u池的线程安全性 boostlib版本是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
/*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
使用executor将任务发布到线程池中。执行人要求见。
其中一个句子是
执行器复制构造函数、比较运算符和其他成员
这些要求中定义的功能不得引入数据竞争
由于从不同的
线程
因此,您的代码是安全的,您可以从多个线程调用post