C 参考手册
- C 语言
- C 关键词
- 预处理器
- C 标准库头文件
- 类型支持
- 程序支持工具
- 变参数函数
- 错误处理
- 动态内存管理
- 日期和时间工具
- 字符串库
- 算法
- 数值
- 文件输入/输出
- 本地化支持
- 原子操作库
- 线程支持库
- thread_local
- thrd_create
- thrd_equal
- thrd_current
- thrd_sleep
- thrd_yield
- thrd_exit
- thrd_detach
- thrd_join
- thrd_success, thrd_timedout, thrd_busy, thrd_nomem, thrd_error
- mtx_init
- mtx_lock
- mtx_timedlock
- mtx_trylock
- call_once, once_flag, ONCE_FLAG_INIT
- mtx_unlock
- mtx_destroy
- mtx_plain, mtx_recursive, mtx_timed
- cnd_init
- cnd_signal
- cnd_broadcast
- cnd_wait
- cnd_timedwait
- cnd_destroy
- TSS_DTOR_ITERATIONS
- tss_create
- tss_get
- tss_set
- tss_delete
- 实验性 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)