std::shared_lock: объект автоматически снимает lock_shared с std::shared_mutex при выходе из области видимости.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpThSl 542 of 696 menu
◀ ▶

Общий захват std::shared_lock в C++

Совместный захват сам снимает std::shared_lock: объект автоматически снимает lock_shared с std::shared_mutex при выходе из области видимости.

Создадим shared_lock внутри потока-читателя:

#include <iostream> #include <mutex> #include <shared_mutex> #include <thread> int main() { int value = 5; std::shared_mutex mx; std::thread reader([&]() { std::shared_lock<std::shared_mutex> lock(mx); std::cout << value << "\n"; }); reader.join(); return 0; }

Два потока читают int под std::shared_lock<std::shared_mutex>. Выведите значение из каждого.

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