多线程的参考

128 阅读2分钟

thread

docs.microsoft.com/zh-cn/cpp/c…

成员

公共类

名称说明
id标识唯一关联的线程。

公共构造函数

“属性”说明
thread构造 thread 对象。

公共方法

“属性”说明
detachthread 对象拆离相关联的线程。
get_id返回关联线程的唯一标识符。
hardware_concurrency静态。 返回硬件线程上下文的估计数量。
join阻止,直到完成关联的线程。
joinable指定关联的线程是否可联接。
native_handle返回表示线程句柄的特定于实现的类型。
swap与指定的 thread 对象交换对象状态。

公共运算符

“属性”说明
thread::operator=将线程与当前 thread 对象关联。

mutex (C++ 标准库) 类

表示互斥体类型。 此类型的对象可用于强制程序内的互斥。

语法

class mutex;

成员

公共构造函数/析构函数

名称说明
mutex构造 mutex 对象。
~mutex释放由 mutex 对象使用的任何资源。

公共方法

名称说明
lock阻止调用线程,直到线程获取 mutex 的所有权。
native_handle返回表示 mutex 句柄的特定于实现的类型。
try_lock在不阻止的情况下尝试获取 mutex 的所有权。
unlock释放 mutex 的所有权。

<shared_mutex>

标头 <shared_mutex> 提供同步基元来保护可由多个线程访问的共享数据。 除由 mutex 类提供的独占访问控制之外,共享 mutex 类还允许共享多个线程的非独占访问所有权。 共享 mutex 可用于控制可通过多个线程读取的资源且不会引发争用条件问题,但必须以独占方式通过单个线程写入。

标头 <shared_mutex> 定义类 shared_mutexshared_timed_mutex类模板 shared_lock,以及共享互斥体支持的模板函数 swap

shared_mutex读写锁把对共享资源的访问者划分成读者和写者,多个读线程能同时读取共享资源,但只有一个写线程能同时读取共享资源

说明
shared_mutex 类一种共享 mutex 类型,可由单个代理以独占方式锁定,或由多个代理以非独占方式共享。
shared_timed_mutex 类一种共享的定时 mutex 类型,可由单个代理以独占方式锁定,或由多个代理以非独占方式共享。
shared_lock 类一个类模板,用于包装共享互斥体,以支持多个代理的计时锁操作和非独占共享。
函数描述
swap交换由函数参数引用的共享 mutex 对象的内容。

\