std::lock_guard
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. |
Elemento definito nell'header <mutex> | ||
template<class Mutex > class lock_guard; | (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.
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.
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.
You can help to correct and verify the translation. Click here for instructions.
[modifica]Membri tipi
Membro tipo 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. |
[modifica]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. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) | |
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. You can help to correct and verify the translation. Click here for instructions. (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();}