request_stop поднимает общий флаг, который видят все std::stop_token, связанные с этим потоком. Главный поток попросит остановку, рабочий завершит цикл.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpThRq 532 of 696 menu
◀ ▶

Запрос остановки потока в C++

Метод request_stop поднимает общий флаг, который видят все std::stop_token, связанные с этим потоком.

Главный поток попросит остановку, рабочий завершит цикл и напечатает подтверждение:

#include <iostream> #include <thread> int main() { std::jthread worker([](std::stop_token st) { while (!st.stop_requested()) { } std::cout << "end\n"; }); worker.request_stop(); return 0; }

Запустите std::jthread с циклом по stop_requested. Вызовите request_stop из main и выведите "ready" после уничтожения jthread.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить