Open Shillaker opened 2 years ago
We can use std::jthread with a stop_token:
std::jthread
stop_token
#include <thread> #include <iostream> using namespace std::literals::chrono_literals; void f(std::stop_token stop_token, int value) { while (!stop_token.stop_requested()) { std::cout << value++ << ' ' << std::flush; std::this_thread::sleep_for(200ms); } std::cout << std::endl; } int main() { std::jthread thread(f, 5); // prints 5 6 7 8... for approximately 3 seconds std::this_thread::sleep_for(3s); // The destructor of jthread calls request_stop() and join(). }
from https://en.cppreference.com/w/cpp/thread/stop_token
Partially done in #251
We can use
std::jthread
with astop_token
:from https://en.cppreference.com/w/cpp/thread/stop_token