C++ Library - <thread>


Thread is a sequence of instructions that can be executed concurrently with other such sequences in multithreading environments, while sharing a same address spac.

Member types

Sr.No. Member type & description
1 id

It is a thread id.

2 Native handle type

It is a native handle type.

Member functions

Sr.No. Member function & description
1 (constructor)

It is used to construct thread.

2 (destructor)

It is used to destructor thread.

3 operator=

It is a move-assign thread.

4 get_id

It is used to get thread id.

5 joinable

It is used to check if joinable.

6 join

It is used to join thread.

7 detach

It is used to detach thread.

8 swap

It is used to swap threads.

9 native_handle

It is used to get native handle.

10 hardware_concurrency [static]

It is used to detect hardware concurrency.

Non-member overloads

Sr.No. Non-member overload & description
1 swap (thread)

It is used to swap threads.


In below example for std::thread.

#include <iostream>
#include <thread>

void foo() {
   std::cout << " foo is executing concurrently...\n";

void bar(int x) {
   std::cout << " bar is executing concurrently...\n";

int main() {
   std::thread first (foo);
   std::thread second (bar,0);

   std::cout << "main, foo and bar now execute concurrently...\n";


   std::cout << "foo and bar completed.\n";

   return 0;

The output should be like this −

main, foo and bar now execute concurrently...
 bar is executing concurrently...
 foo is executing concurrently...
foo and bar completed.