Thread is a sequence of instructions that can be executed concurrently with other such sequences in multithreading environments, while sharing a same address spac.
Sr.No. | Member type & description |
---|---|
1 | id
It is a thread id. |
2 | Native handle type
It is a native handle type. |
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. |
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"; first.join(); second.join(); 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.