stop_token
for (int i = 0; i < 10; ++i) {
if (stop_token.stop_requested()) {
break;
}
// Do something
}auto task = std::async(std::launch::async, []() {
// Do something
if (stop_token.stop_requested()) {
return;
}
// Do something else
});
// Later...
if (need_to_stop) {
stop_token.request_stop();
}