NPS Pthread Pool
Data Fields
thr_pool Struct Reference

State for a Thread Pool. More...

Data Fields

thr_pool_handle_t handle
 pool handle
thr_pool_tnext
 list to other pools
pthread_mutex_t lock
 protects all (the following) pool data
pthread_cond_t jobcv
 for idle workers to wait on for jobs
pthread_cond_t emptycv
 for caller to wait, while pool non-empty
pthread_cond_t wakecv
 for caller to wait, for ack from worker
pthread_t * tid
 array of all threads in the pool
int * active
 array, if active[j] then tid[j] is active
job_tjob_head
 head of job queue
job_tjob_tail
 tail of job queue
int notice
 notifications for the pool
pthread_attr_t attr
 POSIX thread attributes for workers.
unsigned int timeout
 seconds before idle workers exit
unsigned int min
 minimum number of worker threads
unsigned int max
 maximum number of worker threads
unsigned int nthreads
 current number of worker threads
unsigned int nidle
 number of idle workers

Detailed Description

State for a Thread Pool.


Field Documentation

array, if active[j] then tid[j] is active

pthread_attr_t thr_pool::attr

POSIX thread attributes for workers.

pthread_cond_t thr_pool::emptycv

for caller to wait, while pool non-empty

pool handle

head of job queue

tail of job queue

pthread_cond_t thr_pool::jobcv

for idle workers to wait on for jobs

pthread_mutex_t thr_pool::lock

protects all (the following) pool data

unsigned int thr_pool::max

maximum number of worker threads

unsigned int thr_pool::min

minimum number of worker threads

list to other pools

unsigned int thr_pool::nidle

number of idle workers

notifications for the pool

unsigned int thr_pool::nthreads

current number of worker threads

pthread_t* thr_pool::tid

array of all threads in the pool

unsigned int thr_pool::timeout

seconds before idle workers exit

pthread_cond_t thr_pool::wakecv

for caller to wait, for ack from worker


The documentation for this struct was generated from the following file:

Generated for NPS Pthread Pool by  doxygen