std::jthread:: detach
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Observers | ||||
| Operations | ||||
|
jthread::detach
|
||||
| Stop token handling | ||||
| Non-member functions | ||||
|
void
detach
(
)
;
|
(seit C++20) | |
Trennt den Ausführungsstrang vom jthread-Objekt, sodass die Ausführung unabhängig fortgesetzt werden kann. Alle zugewiesenen Ressourcen werden freigegeben, sobald der Thread beendet wird.
Nach dem Aufruf von
detach
*
this
besitzt kein Thread mehr.
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
(keine)
Nachbedingungen
joinable ist false .
Exceptions
std::system_error falls joinable ( ) == false oder ein Fehler auftritt.
Beispiel
#include <chrono> #include <iostream> #include <thread> void independentThread() { std::cout << "Starting concurrent thread.\n"; std::this_thread::sleep_for(std::chrono::seconds(2)); std::cout << "Exiting concurrent thread.\n"; } void threadCaller() { std::cout << "Starting thread caller.\n"; std::jthread t(independentThread); t.detach(); std::this_thread::sleep_for(std::chrono::seconds(1)); std::cout << "Exiting thread caller.\n"; } int main() { threadCaller(); std::this_thread::sleep_for(std::chrono::seconds(5)); }
Mögliche Ausgabe:
Starting thread caller. Starting concurrent thread. Exiting thread caller. Exiting concurrent thread.
Referenzen
- C++23-Standard (ISO/IEC 14882:2024):
-
- 33.4.4.3 Memberfunktionen [thread.jthread.mem]
- C++20-Standard (ISO/IEC 14882:2020):
-
- 32.4.3.2 Member [thread.jthread.mem]
Siehe auch
|
wartet auf die Beendigung der Thread-Ausführung
(öffentliche Elementfunktion) |
|
|
prüft ob der Thread joinable ist, d.h. möglicherweise im parallelen Kontext läuft
(öffentliche Elementfunktion) |
|
|
C-Dokumentation
für
thrd_detach
|
|