Udostępnij za pośrednictwem


mutex class (Standardowa biblioteka C++)

Reprezentuje typ mutexu. Obiekty tego typu mogą służyć do wymuszania wzajemnego wykluczania w programie.

Składnia

class mutex;

Elementy członkowskie

Konstruktor publiczny/destruktor

Nazwa/nazwisko opis
mutex mutex Tworzy obiekt.
~mutex Zwalnia wszystkie zasoby, które były używane przez mutex obiekt.

Metody publiczne

Nazwa/nazwisko opis
lock Blokuje wątek wywołujący do momentu uzyskania własności wątku mutex.
native_handle Zwraca typ specyficzny dla implementacji reprezentujący uchwyt mutex.
try_lock Próbuje uzyskać własność obiektu mutex bez blokowania.
unlock Zwalnia własność obiektu mutex.

Wymagania

Nagłówek: <mutex>

Przestrzeń nazw: std

lock

Blokuje wątek wywołujący do momentu uzyskania własności wątku mutex.

void lock();

Uwagi

Jeśli wątek wywołujący jest już właścicielem mutex, zachowanie jest niezdefiniowane.

Konstruktor

mutex Tworzy obiekt, który nie jest zablokowany.
Przed programem Visual Studio 2022 17.10 implementacja tego konstruktora firmy Microsoft nie constexprbyła . Teraz jest to constexpr.

mutex() noexcept;

Destruktor

Zwalnia wszystkie zasoby, które są używane przez mutex obiekt.

~mutex();

Uwagi

Jeśli obiekt jest zablokowany po uruchomieniu destruktora, zachowanie jest niezdefiniowane.

native_handle

Zwraca typ specyficzny dla implementacji reprezentujący uchwyt mutex. Uchwyt mutex może być używany w sposób specyficzny dla implementacji.

native_handle_type native_handle();

Wartość zwracana

native_handle_typeelement jest zdefiniowany jako .Concurrency::critical_section * Jest obsadzony jako void *.

try_lock

Próbuje uzyskać własność obiektu mutex bez blokowania.

bool try_lock();

Wartość zwracana

true jeśli metoda pomyślnie uzyskuje własność mutex; w przeciwnym razie false, .

Uwagi

Jeśli wątek wywołujący jest już właścicielem mutex, zachowanie jest niezdefiniowane.

unlock

Zwalnia własność obiektu mutex.

void unlock();

Uwagi

Jeśli wątek wywołujący nie jest właścicielem mutex, zachowanie jest niezdefiniowane.

Zobacz też

Odwołanie do plików nagłówka
<mutex>