std::thread::detach(3)
π
std::thread::detach(3) π
okay so bestie, welcome to std::thread::detach(3) from the C++ Standard Libary manual β spelling exactly as the page has it, we respect the lore π
β¨ NAME β¨
std::thread::detach β std::thread::detach (yes it's giving βname so nice they named it twiceβ π
)
π¦ Synopsis π¦
void detach();
(since C++11) β that's the whole signature, no args, no return.
detach() separates the thread of execution from the thread object, allowing execution to continue independently. Any allocated resources will be freed once the thread exits.
After calling detach, *this no longer owns any thread. periodt.
π Parameters π
(none) β literally none, bestie.
π Return value π
(none) β also none.
π Postconditions π
joinable is false. that's the vibe check after detach π
π Exceptions π
std::system_error if joinable() == false or an error occurs. not me getting an exception over here π
π» Example π»
// Run this code β here's the whole demo, bestie:
#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::thread 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));
}
π Possible output π
Starting thread caller.
Starting concurrent thread.
Exiting thread caller.
Exiting concurrent thread.
π References π
- C++23 standard (
ISO/IEC 14882:2023):33.4.3.6 Members [thread.thread.member]
- C++20 standard (
ISO/IEC 14882:2020):32.4.2.5 Members [thread.thread.member]
- C++17 standard (
ISO/IEC 14882:2017):33.3.2.5 thread members [thread.thread.member]
- C++14 standard (
ISO/IEC 14882:2014):30.3.1.5 thread members [thread.thread.member]
- C++11 standard (
ISO/IEC 14882:2011):30.3.1.5 thread members [thread.thread.member]
π See also π
joinβ waits for the thread to finish its execution (public member function).joinablecontext β checks whether the thread is joinable, i.e. potentially running in parallel (public member function).- C documentation for
thrd_detach.
that's the whole page, bestie π«Ά source: http://cppreference.com β’ version/date: 2024.06.10 β’ mwah π
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms