线程支持库
< 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)