pthreads: `ThreadPool` accept any `Task`