我正在同时提交多个任务:: 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
。