Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
#include <task_arena.h>
Static Public Attributes | |
static const int | automatic = -1 |
Typedef for number of threads that is automatic. More... | |
static const int | not_initialized = -2 |
Protected Types | |
enum | { default_flags, exact_exception_flag = task_group_context::exact_exception } |
Protected Member Functions | |
task_arena_base (int max_concurrency, unsigned reserved_for_masters) | |
void __TBB_EXPORTED_METHOD | internal_initialize () |
void __TBB_EXPORTED_METHOD | internal_terminate () |
void __TBB_EXPORTED_METHOD | internal_attach () |
void __TBB_EXPORTED_METHOD | internal_enqueue (task &, intptr_t) const |
void __TBB_EXPORTED_METHOD | internal_execute (delegate_base &) const |
void __TBB_EXPORTED_METHOD | internal_wait () const |
Static Protected Member Functions | |
static int __TBB_EXPORTED_FUNC | internal_current_slot () |
static int __TBB_EXPORTED_FUNC | internal_max_concurrency (const task_arena *) |
Protected Attributes | |
internal::arena * | my_arena |
NULL if not currently initialized. More... | |
task_group_context * | my_context |
default context of the arena More... | |
int | my_max_concurrency |
Concurrency level for deferred initialization. More... | |
unsigned | my_master_slots |
Reserved master slots. More... | |
intptr_t | my_version_and_traits |
Special settings. More... | |
Definition at line 103 of file task_arena.h.
|
protected |
Enumerator | |
---|---|
default_flags | |
exact_exception_flag |
Definition at line 122 of file task_arena.h.
|
inlineprotected |
Definition at line 130 of file task_arena.h.
|
protected |
Definition at line 780 of file arena.cpp.
References __TBB_ASSERT, exact_exception_flag, tbb::internal::market::global_market(), tbb::internal::governor::local_scheduler_if_initialized(), my_arena, my_context, my_master_slots, my_max_concurrency, my_version_and_traits, tbb::task_group_context::my_version_and_traits, tbb::internal::arena::num_arena_slots(), tbb::internal::arena::ref_external, and s.
|
staticprotected |
Definition at line 1015 of file arena.cpp.
References int, tbb::internal::governor::local_scheduler_if_initialized(), and s.
|
protected |
Definition at line 801 of file arena.cpp.
References __TBB_ASSERT, tbb::internal::governor::local_scheduler_if_initialized(), my_arena, tbb::task::prefix(), and s.
Referenced by internal_execute(), and internal_wait().
|
protected |
Definition at line 862 of file arena.cpp.
References __TBB_ASSERT, __TBB_CONTEXT_ARG, __TBB_CONTEXT_ARG1, tbb::internal::__TBB_load_with_acquire(), tbb::task::allocate_root(), tbb::task_group_context::copy_fp_settings(), d, tbb::task_group_context::default_traits, tbb::task_group_context::exact_exception, exact_exception_flag, internal_enqueue(), tbb::task_group_context::isolated, tbb::internal::governor::local_scheduler_weak(), tbb::internal::scheduler_properties::master, my_arena, my_context, tbb::task_group_context::my_exception, my_version_and_traits, tbb::internal::arena::out_of_arena, tbb::internal::auto_empty_task::prefix(), tbb::internal::task_prefix::ref_count, tbb::task_group_context::register_pending_exception(), tbb::internal::context_guard_helper< T >::restore_default(), s, scope, and tbb::internal::context_guard_helper< T >::set_ctx().
|
protected |
Definition at line 736 of file arena.cpp.
References __TBB_ASSERT, tbb::internal::as_atomic(), tbb::internal::market::create_arena(), tbb::internal::governor::default_num_threads(), tbb::task_group_context::default_traits, exact_exception_flag, tbb::internal::market::global_market(), int, tbb::task_group_context::isolated, tbb::internal::governor::local_scheduler_weak(), my_arena, my_context, my_master_slots, my_max_concurrency, my_version_and_traits, tbb::internal::NFS_Allocate(), tbb::internal::arena::on_thread_leaving(), tbb::internal::governor::one_time_init(), tbb::internal::arena::ref_external, tbb::internal::market::release(), and tbb::internal::spin_wait_while_eq().
|
staticprotected |
Definition at line 1046 of file arena.cpp.
References __TBB_ASSERT, automatic, tbb::internal::governor::default_num_threads(), int, tbb::internal::governor::local_scheduler_if_initialized(), my_arena, my_max_concurrency, tbb::internal::arena_base::my_max_num_workers, tbb::internal::arena_base::my_num_reserved_slots, and s.
Referenced by tbb::this_task_arena::max_concurrency().
|
protected |
Definition at line 769 of file arena.cpp.
References my_arena, my_context, and tbb::internal::arena::ref_external.
|
protected |
Definition at line 986 of file arena.cpp.
References __TBB_ASSERT, __TBB_CONTEXT_ARG1, tbb::internal::__TBB_load_with_acquire(), __TBB_Yield, tbb::task::allocate_root(), tbb::internal::as_atomic(), internal_enqueue(), tbb::internal::governor::local_scheduler_weak(), my_arena, my_context, tbb::internal::binary_semaphore::P(), s, tbb::internal::arena::SNAPSHOT_EMPTY, and tbb::internal::scheduler_properties::worker.
|
static |
Typedef for number of threads that is automatic.
Definition at line 150 of file task_arena.h.
Referenced by internal_max_concurrency().
|
protected |
NULL if not currently initialized.
Definition at line 106 of file task_arena.h.
Referenced by internal_attach(), internal_enqueue(), internal_execute(), internal_initialize(), internal_max_concurrency(), internal_terminate(), and internal_wait().
|
protected |
default context of the arena
Definition at line 110 of file task_arena.h.
Referenced by internal_attach(), internal_execute(), internal_initialize(), internal_terminate(), and internal_wait().
|
protected |
Reserved master slots.
Definition at line 117 of file task_arena.h.
Referenced by internal_attach(), and internal_initialize().
|
protected |
Concurrency level for deferred initialization.
Definition at line 114 of file task_arena.h.
Referenced by internal_attach(), internal_initialize(), and internal_max_concurrency().
|
protected |
Special settings.
Definition at line 120 of file task_arena.h.
Referenced by internal_attach(), internal_execute(), and internal_initialize().
|
static |
Definition at line 151 of file task_arena.h.
Referenced by tbb::this_task_arena::current_thread_index(), and tbb::interface9::internal::get_initial_partition_head().