Reuzel is a tiny C++ thread pool with these features:
- Only runs on Linux
- C++11 syntax and POSIX Threads
- Simple API
- Starts all threads on creation of the thread pool
- Stops and joins all threads on destroy
The thread pool uses C++11 syntax and POSIX Threads so if you compile with g++ on Linux you have to use the flags '-lpthread', '-std=c++11' like this:
g++ -std=c++11 ThreadPool.cpp Thread.cpp example.cpp -lpthread -o example
Then run the executable like this:
./example
if you want to run the test example:
make
./Reuzel
Reuzel can also be built using Buck:
buck build :reuzel
To run the test example:
buck run test/
- Include the header file in your source file:
#include "ThreadPool.h"
- Create a thread pool:
ThreadPool thpool;
- Set max size of task queue, and create worker threads:
setMaxQueueSize(), start();
- Add task to the pool:
addTask();
You are very welcome to contribute!