Namensräume
Varianten
Aktionen

thrd_create

Von cppreference.com
< c‎ | thread
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).

Wenn erfolgreich, wird das von thr ausgebende Objekt mit dem Bezeichner des neuen Threads gesetzt.

Der Abschluss dieser Funktion synchronisiert mit dem Beginn des Threads.

Inhalt

[bearbeiten] Parameter

thr - Zeiger auf den Speicherort, an dem der Bezeichner des neuen Threads gespeichert werden soll
func - Die auszuführende Funktion
arg - Das an die Funktion zu übergebende Argument

[bearbeiten] Rückgabewert

thrd_success, wenn die Erstellung des neuen Threads erfolgreich war. Andernfalls gibt sie thrd_nomem zurück, wenn nicht genügend Speicher vorhanden war, oder thrd_error, wenn ein anderer Fehler aufgetreten ist.

[bearbeiten] Hinweise

Die Thread-Bezeichner können für neue Threads wiederverwendet werden, sobald der Thread beendet und verknüpft oder getrennt wurde.

Der Typ thrd_start_t ist eine Typedef-Definition für int(*)(void*), was sich vom POSIX-Äquivalent void*(*)(void*) unterscheidet.

Alle werkspezifischen Speicherwerte (siehe tss_create) werden auf NULL initialisiert.

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

[bearbeiten] Referenzen

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

[bearbeiten] Siehe auch

trennt einen Thread ab
(Funktion) [bearbeiten]
blockiert, bis ein Thread beendet wird
(Funktion) [bearbeiten]
C++ Dokumentation für thread