std::counting_semaphore и блокируется, если слотов не осталось.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpThSa 561 of 696 menu
◀ ▶

Захват семафора acquire в C++

Метод acquire уменьшает счетчик std::counting_semaphore и блокируется, если слотов не осталось.

Поток дождется слота, выполнит действие и вернет ресурс через release:

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

Поток вызывает acquire на std::counting_semaphore<2>, печатает "go" и делает release.

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