ark::concurrency::ThreadPoolConfig

Defined in header “ark/concurrency/thread_pool.hh”.


Configuration for the thread pool. Can be used to configure some advanced features of the pool.

Variables

  • std::string name
    The name of the thread pool. Applied to all threads.

  • size_t thread_count= 1
    Count of threads this pool should manage.

  • size_t lockfree_queue_size= 0
    Size of the lockfree queue for the thread pool. This needs to be set to the maximum number of items that can be stored on the lockfree pool before the system will switch to a lock-based queue for overflow.

  • bool paused_on_startup= false
    If the thread pool should start in a paused state.

  • ThreadPoolPriorityConfig priority_config
    Per-thread priority configuration.

  • std::vector< bool > processor_affinity_mask
    The processor affinity for this thread pool. Threads will be scheduled to run only on these cores, if specified. If this is empty, uses the process-default affinity mask.

    Each entry in the list consists of a bit indicating if that processor should be used or not (ie, bit 0 being true means that we can schedule on processor 0).