Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在多个线程上发布任务时,boost::asio::thread\u pool线程安全吗?_C++_Boost_Thread Safety_Asio - Fatal编程技术网

C++ 在多个线程上发布任务时,boost::asio::thread\u pool线程安全吗?

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

我同时向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, my_task_2);

所以我想知道代码是否能够在多个线程上工作

boost::asio::post
使用executor将任务发布到线程池中。执行人要求见。 其中一个句子是

执行器复制构造函数、比较运算符和其他成员 这些要求中定义的功能不得引入数据竞争 由于从不同的 线程

因此,您的代码是安全的,您可以从多个线程调用
post