std::mutex: поток, захвативший его, блокирует остальных до unlock.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpThMx 535 of 696 menu
◀ ▶

Блокировка std::mutex в C++

Простой взаимный замок - это std::mutex: поток, захвативший его, блокирует остальных до unlock.

Захватим мьютекс перед изменением int и освободим его на каждом пути выполнения:

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

Один поток под std::mutex увеличивает int с 4 до 5 через lock и unlock. Выведите результат.

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