ThreadPool_pthread/README.md

31 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2017-01-15 14:02:23 +00:00
# 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.
### License
MIT. In other words, you're free to do with this code whatever you want.
### Usage
There is an example on how to use the code in the directory `examples`.
Other than that, all you have to do is:
* Include the file `ThreadPool_pthread.h`
* Add the sources in the directory `src` to your sources
* Link to pthread (with `-pthread` on 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 `function` is a function pointer to the function to be added, and `parameters` is a `void*` that contains the parameters.
* Call `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)`.
### Makefiles
There's a make file that builds the example. There's also a qmake file that builds the example too.