std::shared_mutex: эксклюзивный захват для записи и совместный lock_shared для чтения. Поток прочитает число под shared-замком и.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpThSh 541 of 696 menu
◀ ▶

Общий мьютекс std::shared_mutex в C++

Запись и чтение различает std::shared_mutex: эксклюзивный захват для записи и совместный lock_shared для чтения.

Поток прочитает число под shared-замком и выведет его:

#include <iostream> #include <shared_mutex> #include <thread> int main() { int data = 9; std::shared_mutex mx; std::thread reader([&]() { mx.lock_shared(); std::cout << data << "\n"; mx.unlock_shared(); }); reader.join(); return 0; }

Запишите int под lock в main, затем поток читает его через lock_shared и unlock_shared.

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