Class TaskManager

Class Documentation

class quickpool::sched::TaskManager

Task manager based on work stealing.

Public Functions

inline explicit TaskManager(size_t num_queues)
inline TaskManager &operator=(TaskManager &&other)
inline void resize(size_t num_queues)
template<typename Task>
inline void push(Task &&task)
template<typename Task>
inline bool try_pop(Task &task, size_t worker_id = 0)
inline void wake_up_all_workers()
inline void wait_for_jobs(size_t id)
inline void wait_for_finish(size_t millis = 0)
Parameters

millis – if > 0: stops waiting after millis ms

inline bool called_from_owner_thread() const
inline void report_success()
inline void report_fail(std::exception_ptr err_ptr)
inline void stop()
inline void rethrow_exception()
inline bool is_running() const
inline bool has_errored() const
inline bool stopped() const
inline bool done() const