@@ -126,17 +126,7 @@ bool ThreadPool::initialize(ssize_t min_thread_num, ssize_t max_thread_num)
126126 return true ;
127127}
128128
129- ThreadPool::TaskToken ThreadPool::execute (NonReturnFunc &&backend_task, int prio)
130- {
131- return execute (std::move (backend_task), nullptr , prio);
132- }
133-
134- ThreadPool::TaskToken ThreadPool::execute (const NonReturnFunc &backend_task, int prio)
135- {
136- return execute (backend_task, nullptr , prio);
137- }
138-
139- ThreadPool::TaskToken ThreadPool::execute (NonReturnFunc &&backend_task, NonReturnFunc &&main_cb, int prio)
129+ ThreadExecutor::TaskToken ThreadPool::execute (NonReturnFunc &&backend_task, NonReturnFunc &&main_cb, int prio)
140130{
141131 RECORD_SCOPE ();
142132 TaskToken token;
@@ -180,14 +170,44 @@ ThreadPool::TaskToken ThreadPool::execute(NonReturnFunc &&backend_task, NonRetur
180170 return token;
181171}
182172
183- ThreadPool ::TaskToken ThreadPool::execute (const NonReturnFunc &backend_task, const NonReturnFunc &main_cb, int prio)
173+ ThreadExecutor ::TaskToken ThreadPool::execute (const NonReturnFunc &backend_task, const NonReturnFunc &main_cb, int prio)
184174{
185175 NonReturnFunc backend_task_copy (backend_task);
186176 NonReturnFunc main_cb_copy (main_cb);
187177 return execute (std::move (backend_task_copy), std::move (main_cb_copy), prio);
188178}
189179
190- ThreadPool::TaskStatus ThreadPool::getTaskStatus (TaskToken task_token) const
180+ ThreadExecutor::TaskToken ThreadPool::execute (NonReturnFunc &&backend_task, int prio)
181+ {
182+ return execute (std::move (backend_task), nullptr , prio);
183+ }
184+
185+ ThreadExecutor::TaskToken ThreadPool::execute (const NonReturnFunc &backend_task, int prio)
186+ {
187+ return execute (backend_task, nullptr , prio);
188+ }
189+
190+ ThreadExecutor::TaskToken ThreadPool::execute (NonReturnFunc &&backend_task)
191+ {
192+ return execute (std::move (backend_task), 0 );
193+ }
194+
195+ ThreadExecutor::TaskToken ThreadPool::execute (const NonReturnFunc &backend_task)
196+ {
197+ return execute (backend_task, 0 );
198+ }
199+
200+ ThreadExecutor::TaskToken ThreadPool::execute (NonReturnFunc &&backend_task, NonReturnFunc &&main_cb)
201+ {
202+ return execute (std::move (backend_task), std::move (main_cb), 0 );
203+ }
204+
205+ ThreadExecutor::TaskToken ThreadPool::execute (const NonReturnFunc &backend_task, const NonReturnFunc &main_cb)
206+ {
207+ return execute (backend_task, main_cb, 0 );
208+ }
209+
210+ ThreadExecutor::TaskStatus ThreadPool::getTaskStatus (TaskToken task_token) const
191211{
192212 std::lock_guard<std::mutex> lg (d_->lock );
193213
@@ -200,20 +220,14 @@ ThreadPool::TaskStatus ThreadPool::getTaskStatus(TaskToken task_token) const
200220 return TaskStatus::kNotFound ;
201221}
202222
203- /* *
204- * 返回值如下:
205- * 0: 取消成功
206- * 1: 没有找到该任务
207- * 2: 该任务正在执行
208- */
209- int ThreadPool::cancel (TaskToken token)
223+ ThreadExecutor::CancelResult ThreadPool::cancel (TaskToken token)
210224{
211225 RECORD_SCOPE ();
212226 std::lock_guard<std::mutex> lg (d_->lock );
213227
214228 // ! 如果正在执行
215229 if (d_->doing_tasks_token .find (token) != d_->doing_tasks_token .end ())
216- return 2 ; // ! 返回正在执行
230+ return CancelResult:: kExecuting ; // ! 返回正在执行
217231
218232 // ! 从高优先级向低优先级遍历,找出优先级最高的任务
219233 for (size_t i = 0 ; i < d_->undo_tasks_token .size (); ++i) {
@@ -223,12 +237,12 @@ int ThreadPool::cancel(TaskToken token)
223237 if (iter != tasks_token.end ()) {
224238 tasks_token.erase (iter);
225239 d_->task_pool .free (d_->undo_tasks_cabinet .free (token));
226- return 0 ;
240+ return CancelResult:: kSuccess ;
227241 }
228242 }
229243 }
230244
231- return 1 ; // ! 返回没有找到
245+ return CancelResult:: kNotFound ; // ! 返回没有找到
232246}
233247
234248void ThreadPool::cleanup ()
0 commit comments