Library Components

Threading Building Blocks contains the following library components:

Generic Parallel Algorithms

  • parallel_for
  • parallel_reduce
  • parallel_scan
  • parallel_sort
  • parallel_while
  • pipeline


Assistant Classes to Use with Algorithms

  • blocked_range (for use with algorithms, containers, etc.)
  • blocked_range2d (for use with algorithms, containers, etc.)


Thread-Safe Containers

  • concurrent_hash_map
  • concurrent_queue
  • concurrent_vector


Synchronization Primitives

  • atomic
  • spin_mutex
  • spin_rw_mutex (reader-writer spin mutex)
  • queuing_mutex
  • queuing_rw_mutex (reader-writer queuing mutex)
  • mutex


Task Scheduler

Memory Allocation

  • scalable_allocator
  • cache_aligned_allocator
  • aligned_space


Timing

  • tick_count