minamic / threadpool-1

A simple C Thread pool implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A simple C thread pool implementation
=====================================

Currently, the implementation:
 * Works with pthreads only, but API is intentionally opaque to allow
   other implementations (Windows for instance).
 * Starts all threads on creation of the thread pool.
 * Reserves one task for signaling the queue is full.
 * Stops and joins all worker threads on destroy.

Possible enhancements
=====================

The API contains addtional unused 'flags' parameters that would allow
some additional options:

 * Lazy creation of threads (easy)
 * Reduce number of threads automatically (hard)
 * Unlimited queue size (medium)
 * Kill worker threads on destroy (hard, dangerous)
 * Support Windows API (medium)
 * Reduce locking contention (medium/hard)

About

A simple C Thread pool implementation

License:BSD 2-Clause "Simplified" License


Languages

Language:C 96.7%Language:Makefile 3.3%