std::thread(3) Library Functions Manual std::thread(3) NAME std::thread SYNOPSIS #include Classes class id Public Types using native_handle_type Public Member Functions template>> thread (_Callable &&__f, _Args &&... __args) thread (const thread &)=delete thread (thread &&__t) noexcept void detach () id get_id () const noexcept void join () bool joinable () const noexcept native_handle_type native_handle () thread & operator= (const thread &)=delete thread & operator= (thread &&__t) noexcept void swap (thread &__t) noexcept Static Public Member Functions static unsigned int hardware_concurrency () noexcept Related Symbols (Note that these are not member symbols.) void swap (thread &__x, thread &__y) noexcept Detailed Description A std::thread represents a new thread of execution. The default constructor creates an object that does not own a thread. The thread(F&&, Args&&...) constructor invokes a callable in a new thread, and owns that new thread. A std::thread that owns a thread is joinable. Joining a thread waits for it to finish executing, which happens when the callable running in that thread returns. A std::thread cannot be copied, but can be moved. Moving a joinable object transfers ownership of its thread to another object. A joinable std::thread must be explicitly joined (or detached) before it is destroyed or assigned to. Attempting to destroy a joinable thread will terminate the whole process. Since C++11 Member Function Documentation native_handle_type std::thread::native_handle () [inline] Precondition thread is joinable Author Generated automatically by Doxygen for libstdc++ from the source code. libstdc++ std::thread(3)