◐ Shell
clean mode source ↗

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.

Click here for the English version of this page

<metanoindex/>

<tbody> </tbody>

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.

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.
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.

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) [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.
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();
}