// examples/ch25/ch25_stop_token.cpp #include #include #include #include void work(std::stop_token st) { while (!st.stop_requested()) { std::cout << "working" << std::endl; std::this_thread::sleep_for(std::chrono::milliseconds(10)); } std::cout << "stop requested" << std::endl; } int main() { std::jthread t(work); std::this_thread::sleep_for(std::chrono::milliseconds(30)); t.request_stop(); return 0; }