This is a header-only C++ library that implements a simple thread pool using the modern C++ language. VIRGIL's design aims for an easy integration with other C++ code.
I have designed VIRGIL because of our needs to integrate a thread pool within the code generated by our compilers, which are described by our papers. The complexity of a compiler leads to the need of simplifying drastically the integration with external manually-written code. This motivated us to design VIRGIL. We hope it will be useful for other people as well.
There are two set of tests: the ones for testing the whole thread pool, and the ones that only tests queues that are within VIRGIL.
For the former, go to tests/pool and run make
.
For the latter, go to tests/queue and run make
.
VIRGIL has been inspired by several projects. The main ones are A Platform-Independent Thread Pool Using C++14 and A Fast Lock-Free Queue for C++.
MIT License
Virgil is the name of our cat my wife and I have taken home from the Gifford cat shelter just before moving to Chicago from Boston.