generic thread pool should always be cached
when using generic thread pool, some elements in the code base rely on the fact that it will always be able to fork it