Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
adopt_lock
Stellt ein Objekt dar, das an die Konstruktoren für lock_guard und unique_lock übergeben werden kann, um anzugeben, dass das ebenfalls an den Konstruktor übergebene Mutex-Objekt gesperrt ist.
const adopt_lock_t adopt_lock;
call_once
Stellt einen Mechanismus zum Aufrufen eines angegebenen aufrufbaren Objekts genau einmal während der Ausführung bereit.
template <class Callable, class... Args>
void call_once(once_flag& Flag,
Callable F&&, Args&&... A);
Parameter
Flag
Ein once_flag-Objekt, das gewährleistet, dass das aufrufbare Objekt nur einmal aufgerufen wird.
F
Ein aufrufbares Objekt.
A
Eine Argumentliste.
Hinweise
Wenn Flag ungültig ist, löst die Funktion eine system_error aus, die einen Fehlercode aufweist invalid_argument. Andernfalls verwendet die Vorlagenfunktion das Flag-Argument , um sicherzustellen, dass sie genau einmal aufgerufen F(A...) wird, unabhängig davon, wie oft die Vorlagenfunktion aufgerufen wird. Wenn F(A...) durch Auslösen einer Ausnahme beendet wird, war der Aufruf nicht erfolgreich.
defer_lock
Stellt ein Objekt dar, das an den Konstruktor für unique_lock übergeben werden kann. Dies gibt an, dass der Konstruktor das ebenfalls an ihn übergebene Mutex-Objekt nicht sperren darf.
const defer_lock_t defer_lock;
lock
Versucht, alle Argumente ohne Deadlock zu sperren.
template <class L1, class L2, class... L3>
void lock(L1&, L2&, L3&...);
Hinweise
Die Argumente für die Vorlagenfunktion müssen Mutex-Typen sein, sofern nicht Aufrufe von try_lock Ausnahmen auslösen könnten.
Die Funktion sperrt alle Argumente ohne Deadlock durch Aufrufe von lock, try_lock und unlock. Wenn ein Aufruf von lock oder try_lock eine Ausnahme auslöst, ruft die Funktion auf allen Mutex-Objekten unlock auf, die vor dem erneuten Auslösen der Ausnahme erfolgreich gesperrt wurden.
swap
template <class Mutex>
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y) noexcept;
try_lock
template <class L1, class L2, class... L3> int try_lock(L1&, L2&, L3&...);
try_to_lock
Stellt ein Objekt dar, das an den Konstruktor für unique_lock übergeben werden kann, um anzugeben, dass der Konstruktor versuchen muss, das ebenfalls an ihn ohne Blockierung übergebene mutex zu entsperren.
const try_to_lock_t try_to_lock;