//void break_all(); | //void break_all(); | ||||
/** | |||||
* @brief 要求所有已经使用了stop token功能的协程停止 | |||||
*/ | |||||
LIBRF_API void request_stop_all_if_possible(); | |||||
/** | /** | ||||
* @brief 将一个协程加入到调度器里开始运行。 | * @brief 将一个协程加入到调度器里开始运行。 | ||||
* @details 推荐使用go或者GO这两个宏来启动协程。\n | * @details 推荐使用go或者GO这两个宏来启动协程。\n |
return task_ptr; | return task_ptr; | ||||
} | } | ||||
LIBRF_API void scheduler_t::request_stop_all_if_possible() | |||||
{ | |||||
scoped_lock<spinlock> __guard(_lock_ready); | |||||
for (auto& kv : this->_ready_task) | |||||
kv.second->request_stop_if_possible(); | |||||
//this->_ready_task.clear(); | |||||
this->_timer->clear(); | |||||
} | |||||
/* | /* | ||||
void scheduler_t::cancel_all_task_() | void scheduler_t::cancel_all_task_() | ||||
{ | { |