thrd_create
thrd_create
在头文件 | | |
---|---|---|
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的返回等同于调用参数等于func返回值的thrd_exit。
参考
- C11标准(ISO / IEC 9899:2011):
扩展内容
thrd_detach(C11) | 分离线程(功能) |
---|---|
thrd_join(C11) | 阻塞,直到线程终止(功能) |
| 线程的C ++文档 |