Work-Stealing Schedulers - Distributes tasks across worker threads using a work-stealing algorithm that dynamically balances load without central coordination.
C++ Thread Management Utilities - Manages a pool of worker threads for parallel execution of C++ code on multi-core processors.
Chunked Range Iterations - Provides parallelfor and parallelreduce algorithms that split data ranges into chunks for concurrent processing.
Parallel Task Execution - Executes independent work items concurrently across available processor cores to speed up computation.
Blocking Completion Waits - Blocks the calling thread until all spawned parallel tasks have finished executing.
Thread Pool Lifecycle Controllers - Ships a global_control object that manages thread pool creation, stack size, and teardown for the parallel runtime.
Parallel Task Injections - Provides mechanisms to inject, defer, recycle, and bypass tasks to optimize parallel execution flow.
Parallel Work Partitioning - Splits large data sets into smaller blocks and processes each block on a separate thread for parallel execution.
Multi-Core Workload Distribution - Distributes workload across multiple processor cores without manual thread management, improving throughput on multi-core hardware.
Parallel Algorithms - Provides parallel versions of common algorithms like for_each, reduce, and sort for data-parallel programming.
Nested Task Group Scopes - Implements nested task group scopes with structured parallelism, cancellation, and automatic completion tracking.
Task Pools - Reuses completed task objects from a per-thread memory pool to reduce allocation overhead and improve cache locality.
Parallel Task Execution - Executes independent work items concurrently across available processor cores to speed up computation.
Task-Based Concurrency Frameworks - Breaks computation into lightweight tasks that the runtime schedules and balances across available cores.
Configurable Worker Thread Pools - Provides configurable worker thread pools with min/max thread counts and keep-alive settings for the parallel runtime.
Deferred Task Constructions - Provides a mechanism to defer task object construction until execution time, reducing allocation overhead.
Inline Task Injections - Allows injecting additional tasks into the runtime from within a running task without blocking or waiting.
Scheduler Bypass Mechanisms - Provides a mechanism to hand a task directly to a worker thread for immediate execution, skipping the normal scheduling queue.
Coexisting - Supports running oneTBB alongside an older TBB runtime in the same process with separate thread pools.
Legacy Runtime Compatibility - Provides a coexistence layer to run alongside older TBB runtimes in the same process.
Runtime Version Coexistence Layers - Provides a coexistence layer that allows oneTBB to run alongside an older TBB runtime in the same process.
Thread-Local Task Bypass Patterns - Provides a thread-local task bypass that hands tasks directly to worker threads, skipping the global scheduling queue.