std::lock_guard
Материал из cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Определено в заголовочном файле <mutex>
|
||
| template< class Mutex > class lock_guard; |
(начиная с C++11) | |
Класс
lock_guard является мьютекс оболочку, которая обеспечивает удобный механизм RAII стиле за владение мьютексом на протяжении областью блок. Оригинал:
The class
lock_guard is a mutex wrapper that provides a convenient RAII стиле mechanism for owning a mutex for the duration of a scoped block. Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Когда
lock_guard объект создан, он пытается взять на себя ответственность мьютекс оно дано. Когда управление покидает область, в которой lock_guard объект был создан, lock_guard разрушается и мьютекс освобождается.Оригинал:
When a
lock_guard object is created, it attempts to take ownership of the mutex it is given. When control leaves the scope in which the lock_guard object was created, the lock_guard is destructed and the mutex is released.Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
lock_guard класс не является копируемым. Поставляемых Mutex типа осуществляют BasicLockable концепции.Оригинал:
The
lock_guard class is non-copyable. The supplied Mutex type shall implement the BasicLockable concept.Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
[править] Член типов
| Член типа
Оригинал: Member type Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
Definition |
mutex_type
|
Mutex
Оригинал: Mutex Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
[править] Член функций
| строит lock_guard, необязательно блокировки данного мьютекса Оригинал: constructs a lock_guard, optionally locking the given mutex Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (public функция-член) | |
| разрушает lock_guard объекта, открывает основной мьютекс Оригинал: destructs the lock_guard object, unlocks the underlying mutex Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (public функция-член) | |
[править] Пример
#include <thread> #include <mutex> int g_i = 0; std::mutex g_i_mutex; // protects g_i void safe_increment() { std::lock_guard<std::mutex> lock(g_i_mutex); ++g_i; // g_i_mutex is automatically released when lock // goes out of scope } int main() { std::thread t1(safe_increment); std::thread t2(safe_increment); t1.join(); t2.join(); }

