线程支持库
< 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 标准(ISO/IEC 9899:2011):
-
- 7.26 Threads <threads.h> (p: 376-387)
-
- 7.31.15 Threads <threads.h> (p: 456)