Namespaces
Variants

mtx_trylock

From cppreference.net
Definiert in Header <threads.h>
int mtx_trylock ( mtx_t * mutex ) ;
(seit C11)

Versucht, den von mutex gezeigten Mutex ohne Blockierung zu sperren. Gibt sofort zurück, wenn der Mutex bereits gesperrt ist.

Vorherige Aufrufe von mtx_unlock auf demselben Mutex synchronisieren mit dieser Operation (falls diese Operation erfolgreich ist), und alle Sperr-/Entsperrvorgänge auf einem bestimmten Mutex bilden eine einzige totale Ordnung (ähnlich der Modifikationsreihenfolge eines atomaren Datentyps)

Inhaltsverzeichnis

Parameter

mutex - Zeiger auf den zu sperrenden Mutex

Rückgabewert

thrd_success bei Erfolg, thrd_busy falls der Mutex bereits gesperrt ist oder aufgrund eines sporadischen Fehlschlagens beim Erwerb eines verfügbaren Mutex, thrd_error falls ein Fehler auftritt.

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
DR 470 C11 mtx_trylock durfte nicht sporadisch fehlschlagen erlaubt

Referenzen

  • C17-Standard (ISO/IEC 9899:2018):
  • 7.26.4.5 Die mtx_trylock-Funktion (S: 278-279)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.26.4.5 Die mtx_trylock-Funktion (S: 382)

Siehe auch

blockiert bis ein Mutex gesperrt wird
(Funktion)
blockiert bis ein Mutex gesperrt wird oder Timeout auftritt
(Funktion)
gibt einen Mutex frei
(Funktion)
C++-Dokumentation für mutex::try_lock
C++-Dokumentation für timed_mutex::try_lock
C++-Dokumentation für recursive_mutex::try_lock
C++-Dokumentation für recursive_timed_mutex::try_lock