Class ThreadPool

Class Documentation

class Utils::ThreadPool

Public Functions

inline ThreadPool(unsigned nthread = max(unsigned(1), unsigned(thread::hardware_concurrency() - 1)))
template<typename Func, typename ...Args>
inline void run(unsigned nt, Func &&func, Args&&... args)

Submit a job to be run by the thread pool.

inline void wait_all()
inline void start_all()
inline void stop_all()
inline unsigned size() const
inline thread::id get_id(unsigned i) const
inline thread const &get_thread(unsigned i) const
inline thread &get_thread(unsigned i)
inline void resize(unsigned numThreads)