Represents a collection of a fixed number of threads, which tasks can be added to.  
 More...
#include <thread_pool.h>
 | 
|   | thread_pool (size_t num_threads=std::thread::hardware_concurrency()) | 
|   | 
| 
  | ~thread_pool () | 
|   | Destructor; joins all threads. 
  | 
|   | 
| template<class Function >  | 
| std::future< typename std::result_of< Function()>::type >  | submit_task (Function func) | 
|   | Adds a task to the thread_pool.  More...
  | 
|   | 
| std::vector< std::thread::id >  | thread_ids () const  | 
|   | 
| size_t  | tasks () const  | 
|   | 
 | 
| 
void  | worker () | 
|   | Function invoked by the worker threads to process tasks off the internal queue. 
  | 
|   | 
 | 
| 
std::vector< std::thread >  | threads_ | 
|   | the threads in the pool 
  | 
|   | 
| 
std::queue< std::unique_ptr< task > >  | tasks_ | 
|   | the queue containing the tasks to be run 
  | 
|   | 
| 
bool  | running_ | 
|   | whether or not the pool is currently running 
  | 
|   | 
| 
std::mutex  | mutex_ | 
|   | the mutex to wrap queue operations 
  | 
|   | 
| 
std::condition_variable  | cond_ | 
|   | the condition variable that workers sleep on when waiting for work 
  | 
|   | 
Represents a collection of a fixed number of threads, which tasks can be added to. 
 
  
  
      
        
          | meta::parallel::thread_pool::thread_pool  | 
          ( | 
          size_t  | 
          num_threads = std::thread::hardware_concurrency() | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
- Parameters
 - 
  
    | num_threads | The number of threads to initialize this thread_pool with; by default, the hardware concurrency.  | 
  
   
 
 
template<class Function > 
  
  
      
        
          | std::future<typename std::result_of<Function()>::type> meta::parallel::thread_pool::submit_task  | 
          ( | 
          Function  | 
          func | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Adds a task to the thread_pool. 
- Parameters
 - 
  
    | func | The function (task) to add  | 
  
   
- Returns
 - a std::future that wraps the return value of the task for retrieval later 
 
 
 
  
  
      
        
          | std::vector<std::thread::id> meta::parallel::thread_pool::thread_ids  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
- Returns
 - a vector of the thread_ids from the current pool 
 
 
 
  
  
      
        
          | size_t meta::parallel::thread_pool::tasks  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
- Returns
 - the number of currently queued tasks 
 
 
 
The documentation for this class was generated from the following file: