workspace icon indicating copy to clipboard operation
workspace copied to clipboard

线程返回超时问题

Open ChaoII opened this issue 1 year ago • 2 comments

workbranch br(2);
auto result = br.submit([](){
    return xx;
});
if(result.wait_for(xx) == std::future::time_out){
    // 请问一下 如过超时,如何杀掉执行当前超时任务的线程。
}else{
    result.get();
}

请问一下 如过超时,如何杀掉执行当前超时任务的线程。

ChaoII avatar Nov 10 '23 06:11 ChaoII

线程不能随便杀掉。尽量确保不要有阻塞任务,也可以折中地用动态增加线程来解决。

CodingHanYa avatar Nov 14 '23 07:11 CodingHanYa

这里wait_for可以指定一段时间,可以确保主线程不会因为异步线程而阻塞。

CodingHanYa avatar Nov 14 '23 07:11 CodingHanYa