std::lock_guard - cppreference.com
Da cppreference.com.
|
|
Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate. La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
<metanoindex/>
<tbody> </tbody>
| Elemento definito nell'header <mutex> |
||
|
|
(dal C++11) | |
Il lock_guard classe è un wrapper mutex che fornisce un comodo meccanismo Raii stile per possedere un mutex per la durata di un blocco ambito.
Original:
The class lock_guard is a mutex wrapper that provides a convenient Raii stile 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.
Quando un oggetto viene creato lock_guard, tenta di assumere la proprietà del mutex è dato. Quando il controllo lascia il campo di applicazione in cui è stato creato l'oggetto lock_guard, il lock_guard viene distrutto e il mutex viene rilasciato.
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.
La classe lock_guard non è copiabile. Il tipo di Mutex fornito l'esecuzione del concetto 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.
Membri tipi
Membro tipo Original: Member type The text has been machine-translated via Google Translate. |
Definition |
mutex_type
|
Mutex Original: Mutex The text has been machine-translated via Google Translate. |
Membri funzioni
costruisce un lock_guard, opzionalmente bloccare il mutex dato Original: constructs a lock_guard, optionally locking the given mutex The text has been machine-translated via Google Translate. (metodo pubblico) [modifica] | |
distrugge l'oggetto lock_guard, sblocca il mutex sottostante Original: destructs the lock_guard object, unlocks the underlying mutex The text has been machine-translated via Google Translate. (metodo pubblico) [modifica] | |
Esempio
#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(); }