Derive ThreadPool from std::vector