我很难理解为什么跟随代码阻止:
.fa_prepended fa fa-check-circle
{
color : #f40!important;
}
.fa fa-check-circle
{
color : #f40!important;
}
我怀疑https://vapereneur.clickfunnels.com/optin11026903
返回 {
std::async(std::launch::async, [] { std::this_thread::sleep_for(5s);
// this line will not execute until above task finishes?
}
作为临时性,它在析构函数中加入任务线程。可能吗?
完整代码如下:
std::async
答案 0 :(得分:2)
是的,std::future
返回的async
具有等待在析构函数中完成任务的特殊属性。
这是因为松散的线程是坏消息,而且你必须等待该线程的唯一令牌是未来的析构函数。
要解决这个问题,请存储结果期货,直到您需要完成结果,或者在极端情况下结束程序。
编写自己的线程池系统也是一个好主意;我发现C ++线程原语足以编写一个线程系统,但在raw中使用并不是我在小程序之外鼓励的东西。