January 2018
Intermediate to advanced
374 pages
9h 53m
English
A running program contains at least one thread. When your main function is being called, it is executed on a thread usually referred to as the main thread. Each thread has an identifier, which can be useful when debugging a concurrent program. The following program prints the thread identifier of the main thread:
auto main() -> int {
std::cout << "Thread ID: " << std::this_thread::get_id() << '\n';
}
Running the preceding program might produce something like this:
Thread ID: 0x1001553c0
It is possible to make a thread sleep. Sleep is rarely used in production code but can be very useful during debugging. For example, if you have a data race that only occurs under rare circumstances, adding sleep to your code might make it appear ...