Default constructor that initializes a TaskPool with totalCPUs - 1 worker threads. The minus 1 is included because the main thread will also be available to do work.
Allows for custom number of worker threads.
Allows for custom number of worker threads.