std::counting_semaphore. Заголовок #include нужен в C++20.">
⊗cpSpThSm 560 of 696 menu

Семафор std::counting_semaphore в C++

Доступные слоты считает std::counting_semaphore. Заголовок #include <semaphore> нужен в C++20.

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

#include <iostream> #include <semaphore> #include <thread> int main() { std::counting_semaphore<1> room{0}; std::thread worker([&]() { room.acquire(); std::cout << "in\n"; room.release(); }); room.release(); worker.join(); return 0; }

Создайте std::counting_semaphore<1> с нулем слотов. Главный делает release, поток acquire и печатает "slot".

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