Boost C++ Libraries: Ticket #8513: Async: Add a basic thread_pool executor. https://svn.boost.org/trac10/ticket/8513 <p> that could have this interface </p> <pre class="wiki"> class thread_pool { public: BOOST_THREAD_NO_COPYABLE(thread_pool) /** * Effects: creates a thread pool that runs closures on @c thread_count threads. */ thread_pool(unsigned const thread_count = thread_t::hardware_concurrency()); /** * Effects: Destroys the thread pool. * Synchronization: The completion of all the closures happen before the completion of the thread pool destructor. */ ~thread_pool(); /** * Effects: close the thread_pool for submissions. The worker threads will work until */ void close(); /** * Returns: whether the pool is closed for submissions. */ bool is_close(); /** * Effects: The specified function will be scheduled for execution at some point in the future. * If invoking closure throws an exception the thread pool will call std::terminate, as is the case with threads. * Synchronization: completion of closure on a particular thread happens before destruction of thread's thread local variables. * Throws: sync_queue_is_closed if the thread pool is closed. * */ template &lt;typename Closure&gt; void submit(BOOST_THREAD_RV_REFClousure) closure); /** * This must be called from an scheduled task. * Effects: reschedule functions until pred() */ template &lt;typename Pred&gt; void reschedule_until(Pred const&amp; pred); }; </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/8513 Trac 1.4.3 viboes Sun, 28 Apr 2013 21:21:52 GMT owner, status changed https://svn.boost.org/trac10/ticket/8513#comment:1 https://svn.boost.org/trac10/ticket/8513#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Anthony Williams</span> to <span class="trac-author">viboes</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket viboes Tue, 30 Apr 2013 22:51:02 GMT summary changed https://svn.boost.org/trac10/ticket/8513#comment:2 https://svn.boost.org/trac10/ticket/8513#comment:2 <ul> <li><strong>summary</strong> <span class="trac-field-old">Add a basic thread_pool executor.</span> → <span class="trac-field-new">Async: Add a basic thread_pool executor.</span> </li> </ul> Ticket viboes Mon, 23 Sep 2013 16:46:38 GMT milestone changed https://svn.boost.org/trac10/ticket/8513#comment:3 https://svn.boost.org/trac10/ticket/8513#comment:3 <ul> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.56.0</span> </li> </ul> <p> Committed revision <a class="changeset" href="https://svn.boost.org/trac10/changeset/85855" title="Thread: added first thread_pool.">[85855]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/85863" title="Thread: added missing function wrapper.">[85863]</a>. </p> Ticket viboes Sat, 15 Feb 2014 16:21:09 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/8513#comment:4 https://svn.boost.org/trac10/ticket/8513#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> <a class="ext-link" href="https://github.com/boostorg/thread/commit/750c849b0f0dff79a289111955260a4147ac7f59"><span class="icon">​</span>https://github.com/boostorg/thread/commit/750c849b0f0dff79a289111955260a4147ac7f59</a> </p> Ticket