std::lock_guard
Da 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. |
Definido no cabeçalho <mutex>
|
||
template< class Mutex > class lock_guard; |
(desde C++11) | |
O
lock_guard
classe é um invólucro mutex que fornece um mecanismo conveniente para RAII estilo possuir um mutex para a duração de um bloco de escopo. Original:
The class
lock_guard
is a mutex wrapper that provides a convenient RAII estilo mechanism for owning a mutex for the duration of a scoped block. The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Quando um objeto é criado
lock_guard
, ele tenta tomar posse do mutex é dado. Quando o controle deixa o âmbito no qual o objeto lock_guard
foi criado, o lock_guard
é destruída eo mutex é liberado.Original:
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.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
A classe
lock_guard
não é copiável. O tipo Mutex
fornecido deve implementar o conceito BasicLockable
.Original:
The
lock_guard
class is non-copyable. The supplied Mutex
type shall implement the BasicLockable
concept.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar] Tipos de membro
Tipo de membro
Original: Member type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
mutex_type
|
Mutex
Original: Mutex The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[editar] Funções de membro
constrói um lock_guard, opcionalmente bloquear o mutex dado Original: constructs a lock_guard, optionally locking the given mutex The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
destrói o objeto lock_guard, destrava o mutex subjacente Original: destructs the lock_guard object, unlocks the underlying mutex The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) |
[editar] Exemplo
#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(); }