我需要在多核架构上执行大量相对较短的任务。 为此,我想使用固定大小的线程池和执行器的一些可靠实现。
我在这篇文章How to create a thread pool using boost in C++?中正在阅读有关boost :: asio和io_service的信息,但这会使用boost线程,而在很多地方我的代码使用c ++ 11 thread_local修饰符作为局部变量(出于性能原因),因此我想我不得不使用c ++ 11线程。
boost线程实现是否与c ++ 11 thread_local变量兼容?
使用带有c ++ 11线程的io_service :: run方法是否安全,而不是使用boost :: thread?
答案 0 :(得分:3)
使用带有c ++ 11线程的io_service :: run方法是否安全,而不是使用boost :: thread?
是的,我将std::thread
与boost::asio
一起使用,效果很好。我还使用std::bind
代替boost::bind
。您可以找到示例here
boost线程实现是否与c ++ 11 thread_local变量兼容?
我不知道这一点,但如果您使用std::thread