Namespaces
Variants

thrd_create

From cppreference.net
Definiert im Header <threads.h>
int thrd_create ( thrd_t * thr, thrd_start_t func, void * arg ) ;
(seit C11)

Erstellt einen neuen Thread, der die Funktion func ausführt. Die Funktion wird aufgerufen als func ( arg ) .

Bei Erfolg wird das Objekt, auf das thr zeigt, auf die Kennung des neuen Threads gesetzt.

Die Beendigung dieser Funktion synchronizes-with den Beginn des Threads.

Inhaltsverzeichnis

Parameter

thr - Zeiger auf den Speicherort, an dem die Kennung des neuen Threads abgelegt werden soll
func - auszuführende Funktion
arg - an die Funktion zu übergebendes Argument

Rückgabewert

thrd_success wenn die Erstellung des neuen Threads erfolgreich war. Andernfalls wird thrd_nomem zurückgegeben, wenn unzureichend Speicher verfügbar war, oder thrd_error wenn ein anderer Fehler aufgetreten ist.

Hinweise

Thread-Identifikatoren können für neue Threads wiederverwendet werden, sobald der Thread beendet und gejoined oder detached wurde.

Der Typ thrd_start_t ist ein Typedef von int ( * ) ( void * ) , was sich vom POSIX-Äquivalent void * ( * ) ( void * ) unterscheidet.

Alle threadspezifischen Speicherwerte (siehe tss_create ) werden mit NULL initialisiert.

Die Rückkehr aus der Funktion func entspricht dem Aufruf von thrd_exit mit dem Argument gleich dem Rückgabewert von func .

Referenzen

  • C17-Standard (ISO/IEC 9899:2018):
  • 7.26.5.1 Die thrd_create-Funktion (S: 279)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.26.5.1 Die thrd_create-Funktion (S: 383)

Siehe auch

trennt einen Thread
(Funktion)
blockiert bis ein Thread terminiert
(Funktion)