thrd_create
|
定义于头文件
<threads.h>
|
||
|
int
thrd_create
(
thrd_t
*
thr,
thrd_start_t
func,
void
*
arg
)
;
|
(C11 起) | |
创建一个新线程执行函数
func
。该函数以
func
(
arg
)
的形式被调用。
如果成功,
thr
所指向的对象将被设置为新线程的标识符。
该函数的完成 同步于 线程的启动。
目录 |
参数
| thr | - | 指向存放新线程标识符的内存位置的指针 |
| func | - | 要执行的函数 |
| arg | - | 传递给函数的参数 |
返回值
thrd_success 表示新线程创建成功。若内存不足则返回 thrd_nomem ,若发生其他错误则返回 thrd_error 。
注释
线程标识符在线程完成并加入或分离后,可能会被新线程重复使用。
类型 thrd_start_t 是 int ( * ) ( void * ) 的 typedef 定义,这与 POSIX 等效类型 void * ( * ) ( void * ) 有所不同
所有线程特定存储值(参见 tss_create )均初始化为 NULL 。
从函数
func
返回等效于调用
thrd_exit
,其参数等于
func
的返回值。
参考文献
- C17 标准 (ISO/IEC 9899:2018):
-
- 7.26.5.1 thrd_create 函数 (页: 279)
- C11 标准 (ISO/IEC 9899:2011):
-
- 7.26.5.1 thrd_create 函数 (p: 383)
参见
|
(C11)
|
分离线程
(函数) |
|
(C11)
|
阻塞直至线程终止
(函数) |
|
C++ 文档
for
thread
|
|