Edit

Share via


<thread> functions

The <thread> header provides the following functions:

get_id

Uniquely identifies the current thread of execution.

thread::id get_id() noexcept;

Return Value

An object of type thread::id that uniquely identifies the current thread of execution.

Example

#include <iostream>
#include <thread>

int main()
{
    std::thread::id current_thread_id = std::this_thread::get_id();
    std::cout << "Current thread id: " << current_thread_id;
}
Current thread id: 16196

sleep_for

Blocks the calling thread.

template <class Rep, class Period>
void sleep_for(const chrono::duration<Rep, Period>& Rel_time);

Parameters

Rel_time
A duration object that specifies a time interval.

Remarks

The function blocks the calling thread for at least the time that's specified by Rel_time. This function does not throw any exceptions.

sleep_until

Blocks the calling thread at least until the specified time.

template <class Clock, class Duration>
void sleep_until(const chrono::time_point<Clock, Duration>& Abs_time);

Parameters

Abs_time
Represents a point in time.

Remarks

This function does not throw any exceptions.

swap

Swaps the states of two thread objects.

void swap(thread& Left, thread& Right) noexcept;

Parameters

Left
The left thread object.

Right
The right thread object.

Remarks

The function calls Left.swap(Right).

yield

Signals the operating system to run other threads, even if the current thread would ordinarily continue to run.

inline void yield() noexcept;

See also

<thread>