#include <task_arena.h>
Public Member Functions | |
| task_arena (int max_concurrency=automatic, unsigned reserved_for_masters=1) | |
| Creates task_arena with certain concurrency limits.   | |
| task_arena (const task_arena &s) | |
| Copies settings from another task_arena.  | |
| void | initialize () | 
| void | initialize (int max_concurrency, unsigned reserved_for_masters=1) | 
| Overrides concurrency level and forces initialization of internal representation.  | |
| void | terminate () | 
| ~task_arena () | |
| bool | is_active () const | 
| template<typename F> | |
| void | enqueue (const F &f) | 
| template<typename F> | |
| void | enqueue (const F &f, priority_t p) | 
| template<typename F> | |
| void | execute (F &f) | 
| template<typename F> | |
| void | execute (const F &f) | 
| void | wait_until_empty () | 
Static Public Member Functions | |
| static int __TBB_EXPORTED_FUNC | current_slot () | 
| Returns the index, aka slot number, of the calling thread in its current arena.  | |
Static Public Attributes | |
| static const int | automatic = -1 | 
| Typedef for number of threads that is automatic.  | |
Friends | |
| class | internal::task_scheduler_observer_v3 | 
| tbb::interface6::task_arena::task_arena | ( | int |  max_concurrency = automatic,  | 
        |
| unsigned |  reserved_for_masters = 1 | |||
| ) |  [inline] | 
        
Creates task_arena with certain concurrency limits.
| tbb::interface6::task_arena::~task_arena | ( | ) |  [inline] | 
        
Removes the reference to the internal arena representation, and destroys the external object. Not thread safe wrt concurrent invocations of other methods.
| void tbb::interface6::task_arena::enqueue | ( | const F & | f, | |
| priority_t | p | |||
| ) |  [inline] | 
        
Enqueues a task with priority p into the arena to process a functor f, and immediately returns. Does not require the calling thread to join the arena
| void tbb::interface6::task_arena::enqueue | ( | const F & | f | ) |  [inline] | 
        
Enqueues a task into the arena to process a functor, and immediately returns. Does not require the calling thread to join the arena
| void tbb::interface6::task_arena::execute | ( | const F & | f | ) |  [inline] | 
        
Joins the arena and executes a functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread
| void tbb::interface6::task_arena::execute | ( | F & | f | ) |  [inline] | 
        
Joins the arena and executes a functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread
| bool tbb::interface6::task_arena::is_active | ( | ) |  const [inline] | 
        
Returns true if the arena is active (initialized); false otherwise. The name was chosen to match a task_scheduler_init method with the same semantics.
| void tbb::interface6::task_arena::terminate | ( | ) |  [inline] | 
        
Removes the reference to the internal arena representation. Not thread safe wrt concurrent invocations of other methods.
| void tbb::interface6::task_arena::wait_until_empty | ( | ) |  [inline] | 
        
Wait for all work in the arena to be completed Even submitted by other application threads Joins arena if/when possible (in the same way as execute())