Simple Thread Pool for POSIX pthread
This is a very simple implementation of a ThreadPool that uses POSIX threads. It's written to be simple, not versatile.
MIT. In other words, you're free to do with this code whatever you want.
There is an example on how to use the code in the directory
Other than that, all you have to do is:
- Include the file
- Add the sources in the directory
srcto your sources
- Link to pthread (with
-pthreadon Linux/MAC/POSIX systems, or download the Windows version of pthread and use it)
- Start coding!
Using the code is very simple. All you have to do is:
- Create an object
ThreadPool_pthread pool(num), where num is the number of threads
- Use the member function
pool.push_task(function, parameters), to add tasks to the pool, where
functionis a function pointer to the function to be added, and
void*that contains the parameters.
pool.finish(), which will block until all tasks are finished.
Note: Return values in the
function are omitted.
Note: The function signature is
void* function(void* parameters).
There's a make file that builds the example. There's also a qmake file that builds the example too.