|
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 732 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 967 of file arena.cpp.
References int, tbb::internal::governor::local_scheduler_if_initialized(), and s.
|
protected |
Definition at line 753 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 814 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 688 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 998 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 721 of file arena.cpp.
References my_arena, my_context, and tbb::internal::arena::ref_external.
|
protected |
Definition at line 938 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().