线程支持库
来自cppreference.com
< c
若编译器定义宏常量 __STDC_NO_THREADS__(C11) ,则不提供头文件 <threads.h> 和所有列于此的名称。
线程
| 定义于头文件
<threads.h> | |
thrd_t
|
实现定义的标识线程的完整对象类型 |
| (C11) |
创建线程 (函数) |
| (C11) |
检查二个标识符是否表示同一线程 (函数) |
| (C11) |
获取当前线程标识符 (函数) |
| (C11) |
在给定的时间段内暂停调用方线程的执行 (函数) |
| (C11) |
让出当前时间片段 (函数) |
| (C11) |
终止调用方线程 (函数) |
| (C11) |
分离线程 (函数) |
| (C11) |
阻塞到线程终止为止 (函数) |
| 指示线程错误状态 (常量) | |
| thrd_start_t (C11) |
函数指针类型 int(*)(void*) 的 typedef ,为 thrd_create 所用 (typedef) |
互斥
| 定义于头文件
<threads.h> | |
mtx_t
|
互斥标识符 |
| (C11) |
创建互斥 (函数) |
| (C11) |
阻塞到锁定互斥为止 (函数) |
| (C11) |
阻塞到锁定互斥或时限经过为止 (函数) |
| (C11) |
锁定互斥,若已锁定则返回而不阻塞 (函数) |
| (C11) |
解锁互斥 (函数) |
| (C11) |
销毁互斥 (函数) |
| (C11)(C11)(C11) |
定义互斥的类型 (枚举) |
一次调用 | |
| (C11) |
准确地一次调用函数 (函数) |
条件变量
| 定义于头文件
<threads.h> | |
cnd_t
|
条件变量标识符 |
| (C11) |
创建条件变量 (函数) |
| (C11) |
除阻一个阻塞于条件变量上的线程 (函数) |
| (C11) |
除阻所有阻塞于条件变量上的线程 (函数) |
| (C11) |
在条件变量上阻塞 (函数) |
| (C11) |
在条件变量上阻塞一段时长 (函数) |
| (C11) |
销毁条件变量 (函数) |
线程局域存储
| 定义于头文件
<threads.h> | |
| (C11) |
线程局域存储类宏 (关键词宏) |
tss_t
|
线程特定存储的指针 |
| (C11) |
析构器被调用的最大次数 (宏常量) |
tss_dtor_t(C11) |
函数指针类型 void(*)(void*) ,用作 TSS 析构器 (typedef) |
| (C11) |
以给定的析构器,创建线程特定存储指针 (函数) |
| (C11) |
从线程特定存储读取 (函数) |
| (C11) |
写入线程特定存储 (函数) |
| (C11) |
释放给定的线程特定存储指针所保有的资源 (函数) |
保留标识符
以 cnd_ 、 mtx_ 、 thrd_ 或 tss_ 后随一个小写字母开始的函数名、类型名和枚举常量可能被添加到 C 标准的未来修订版中 <threads.h> 头文件中的声明,而可移植的程序不该使用这些标识符。
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.26 Threads <threads.h> (p: 376-387)
- 7.31.15 Threads <threads.h> (p: 456)