Вызов async
ниже блокируется, поскольку деструктор возвращаемого будущего блокируется:
void foo() {}
void foo_async() {
std::async(std::launch::async, foo);
}
Но я не хочу блокировать!
Я планирую использовать следующее обходное решение:
void foo_async() {
std::thread(foo).detach();
}
Это нормально? Или вы порекомендовали бы другое решение?