C++ Thread Pools

The thread pool pattern is convenient for handling problems that exhibit a fair amount of unsynchronized concurrency, e.g. systems that dispatch unrelated requests to workers for handling or that periodically spawn background tasks. C++ thread pool library offerings are relatively sparse, with options including the lightweight but incomplete and unmaintained proto-boost thread pool (*not actually part of the Boost library) or taking a dependency on the much larger & fully-featured libdispatch (an open-source port of Grand Central Dispatch). Recently, my employer Maginatics released our own lightweight, header-only thread pool library, which you can find here: https://github.com/maginatics/threadpool