我需要在多核架构上执行大量相对较短的任务。为此,我想使用固定大小的线程池和一些可靠的执行器实现。
我正在阅读关于boost::asio和io_service在这篇文章中如何在c++中使用boost创建线程池?但这使用boost线程,而在我的代码的许多地方使用c++11 thread_local修饰符局部变量(出于性能原因),因此我想我被迫使用c++11线程。
boost线程实现是否与c++11 thread_local变量兼容?在c++11线程中使用io_service::run方法是否安全,而不是boost::thread?
在c++11线程中使用io_service::run方法是否安全,而不是boost::thread?
是的,我使用std::thread
和boost::asio
,它工作得很好。我也用std::bind
代替boost::bind
。你可以在这里找到一个例子
boost线程实现是否与c++11 thread_local变量兼容?
我不知道这个,但是如果你使用std::thread