A simple threadpool implemented in C. It has a jobs queue to hold the jobs which are to be handled. A scheduler to schedule and assign the jobs to the workers in the pool, and create new workers if it is necessary. A manager to control the number of the workers in the pool.