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.
Virgil is the name of our cat we have taken home from the Gifford cat shelter just before moving to Chicago from Boston.
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++.
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
.
MIT License