thrd_create
来自 cppreference.com
定义在头文件 <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 函数 (p: 279)
- C11 标准 (ISO/IEC 9899:2011)
- 7.26.5.1 thrd_create 函数 (p: 383)
[编辑] 另请参阅
(C11) |
分离线程 (函数) |
(C11) |
阻塞,直到线程终止 (函数) |
C++ 文档 for thread
|