THREADPOOL Struct Reference

A thread pool similar to the thread pool in the UPnP SDK. More...

`#include <ThreadPool.h>`

Collaboration diagram for THREADPOOL:
[legend]

## Data Fields

ithread_mutex_t | mutex
ithread_cond_t | condition
ithread_cond_t | start_and_shutdown
int | lastJobId
int | shutdown
int | totalThreads
int | busyThreads
int | persistentThreads
FreeList | jobFreeList
LinkedList | lowJobQ
LinkedList | medJobQ
LinkedList | highJobQ
ThreadPoolJob * | persistentJob
ThreadPoolAttr | attr
ThreadPoolStats | stats

## Detailed Description

A thread pool similar to the thread pool in the UPnP SDK.

Allows jobs to be scheduled for running by threads in a thread pool. The thread pool is initialized with a minimum and maximum thread number as well as a max idle time and a jobs per thread ratio. If a worker thread waits the whole max idle time without receiving a job and the thread pool currently has more threads running than the minimum then the worker thread will exit. If when scheduling a job the current job to thread ratio becomes greater than the set ratio and the thread pool currently has less than the maximum threads then a new thread will be created.

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

- threadutil/inc/ThreadPool.h