|  | 
A simple fixed-size thread pool.
class thread_pool : public execution_context
| Name | Description | 
|---|---|
| Executor implementation type used to submit functions to a thread pool. | |
| Executor used to submit functions to a thread pool. | |
| Fork-related event notifications. | 
| Name | Description | 
|---|---|
| Attaches the current thread to the pool. | |
| Obtains the executor associated with the pool. | |
| Obtains the executor associated with the pool. | |
| Joins the threads. | |
| Notify the execution_context of a fork-related event. | |
| Stops the threads. | |
| thread_pool [constructor] | 
                  Constructs a pool with an automatically determined number of threads.
                   | 
| Waits for threads to complete. | |
| ~thread_pool [destructor] | Destructor. | 
| Name | Description | 
|---|---|
| Destroys all services in the context. | |
| Shuts down all services in the context. | 
The thread pool class is an execution context where functions are permitted to run on one of a fixed number of threads.
        To submit functions to the thread pool, use the dispatch, post or defer free functions.
      
For example:
void my_task() { ... } ... // Launch the pool with four threads. asio::thread_pool pool(4); // Submit a function to the pool. asio::post(pool, my_task); // Submit a lambda object to the pool. asio::post(pool, []() { ... }); // Wait for all tasks in the pool to complete. pool.join();
        Header: asio/thread_pool.hpp
      
        Convenience header: asio.hpp