table of contents
        
      
      
    | std::thread(3) | C++ Standard Libary | std::thread(3) | 
NAME¶
std::thread - std::thread
Synopsis¶
 Defined in header <thread>
  
   class thread; (since C++11)
  
   The class thread represents a single thread of execution. Threads allow
    multiple
  
   functions to execute concurrently.
  
   Threads begin execution immediately upon construction of the associated
    thread
  
   object (pending any OS scheduling delays), starting at the top-level function
  
   provided as a constructor argument. The return value of the top-level
    function is
  
   ignored and if it terminates by throwing an exception, std::terminate is
    called. The
  
   top-level function may communicate its return value or an exception to the
    caller
  
   via std::promise or by modifying shared variables (which may require
  
   synchronization, see std::mutex and std::atomic)
  
   std::thread objects may also be in the state that does not represent any
    thread
  
   (after default construction, move from, detach, or join), and a thread of
    execution
  
   may not be associated with any thread objects (after detach).
  
   No two std::thread objects may represent the same thread of execution;
    std::thread
  
   is not CopyConstructible or CopyAssignable, although it is MoveConstructible
    and
  
   MoveAssignable.
Member types¶
 Member type Definition
  
   native_handle_type(not always present) implementation-defined
Member classes¶
 id represents the id of a thread
  
   (public member class)
Member functions¶
 constructor constructs new thread object
  
   (public member function)
  
   destructs the thread object, underlying thread must be joined
  
   destructor or detached
  
   (public member function)
  
   operator= moves the thread object
  
   (public member function)
Observers¶
 checks whether the thread is joinable, i.e. potentially running
  
   joinable in parallel context
  
   (public member function)
  
   get_id returns the id of the thread
  
   (public member function)
  
   native_handle returns the underlying implementation-defined thread handle
  
   (public member function)
  
   hardware_concurrency returns the number of concurrent threads supported by
    the
  
   [static] implementation
  
   (public static member function)
Operations¶
 join waits for the thread to finish its execution
  
   (public member function)
  
   permits the thread to execute independently from the thread
  
   detach handle
  
   (public member function)
  
   swap swaps two thread objects
  
   (public member function)
Non-member functions¶
 std::swap(std::thread) specializes the std::swap algorithm
  
   (C++11) (function)
See also¶
 jthread std::thread with support for auto-joining and
    cancellation
  
   (C++20) (class)
| 2022.07.31 | http://cppreference.com |