linux pthread_create



 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, 
                    void *(*start_routine) (void *), void* arg);

Linux中创建线程用这个函数,用man命令查询该函数得知,当创建线程成功时, *thread 存储着线程id.
如果创建线程失败, *thread 中的内容未定义。这个未定义是什么意思???
如果调用该函数之前,已经为 *thread 赋了值,创建线程失败后, *thread 的值会被改变吗?
还请有了解解释一番 谢谢了。。。

linux编程 Linux

徐姓少年Y 11 years, 7 months ago

未定义 就是如果失败了, POSIX 没有明确定义 *thread 会是什么值, 具体值依赖具体的API实现而不同, 但是不管值是什么, 你都 不应该在失败后使用这个值 .

fanta answered 11 years, 7 months ago

Your Answer