boost thread pool example
Guide
boost thread pool example with cpp code
code example
#include //std::cout std::endl
#include //std::thread
#include //std::future std::promise
#include //std::ref
#include //std::chrono::seconds
#include
#include
#include
class ThreadPool {
public:
explicit ThreadPool(size_t size) : work_(io_service_) {
for (size_t i = 0; i < size; ++i) {
workers_.create_thread(
boost::bind(&boost::asio::io_service::run, &io_service_));
}
}
~ThreadPool() {
std::cout << "~ThreadPool" << std::endl;
io_service_.stop(); // stop before join_all
workers_.join_all();
}
// Add new work item to the pool.
template
void Enqueue(F f)