Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: pekfos
Język C++

mutex

[klasa] Zapewnia prostą synchronizację między wątkami.

Składnia

C/C++
#include <mutex>

namespace std
{
    class mutex;
}

Opis szczegółowy

Klasa
std::mutex
 zapewnia prostą synchronizację między wątkami. Może być użyta do ochrony współdzielonych danych przed jednoczesnym dostępem z wielu wątków.

std::mutex
 oferuje wyłączną, nierekursywną semantykę własności:
  • Wątek wywołujący jest właścicielem obiektu mutex od czasu udanego wywołania
    lock()
     lub
    try_lock()
     do czasu wywołania
    unlock()
    .
  • Kiedy wątek jest właścicielem obiektu mutex, wszystkie inne wątki zablokują się(na wywołaniu
    lock()
    ) lub otrzymają
    false
     (z wywołania
    try_lock()
    ) podczas próby przejęcia własności obiektu mutex.
  • Wątek wywołujący nie może być właścicielem obiektu przed wywołaniem
    lock()
     lub
    try_lock()
    .

Zachowanie jest niezdefiniowane, jeśli obiekt mutex zostaje zniszczony podczas gdy jakiś wątek wciąż jest jego właścicielem. Klasa
std::mutex
 jest niekopiowalna.

Linki zewnętrzne

Wykaz elementów dowiązanych

lock Blokuje mutex. Jeśli nie jest dostępny, wywołanie lock() czeka na zdjęcie blokady. (metoda)
native_handle Zwraca zależny od implementacji uchwyt. (metoda)
native_handle_type Typ uchwytu zależny od implementacji. (alias)
try_lock Próbuje zablokować mutex. (metoda)
unlock Odblokowuje mutex. (metoda)