void pthread_exit(void *retval)
int pthread_join(pthread_t th, void **thread_return)
pthread_join()的调用者将挂起并等待th线程终止,retval是pthread_exit()调用者线程(线程ID为th)的返回值,
如果thread_return不为NULL,则*thread_return=retval。
需要注意的是一个线程仅允许唯一的一个线程使用 pthread_join()等待它的终止,并且被等待的线程应该处于可join状态,即非DETACHED状态。
------------------------
for (i = 0; i < 10; i++)
{
if (pthread_create((pthread_t *)&pthr[i].id, NULL,
(void *)thr_function, (void *)pthr[i]))
{
fprintf(stderr, "Create pthread error: %s\n", strerror(errno));
goto err_flg;
}
}
for (i = 0; i < 10; i++)
{
if (pthr[i].id != 0)
pthread_join(pthr[i].id, NULL);
}
阅读(5365) | 评论(0) | 转发(0) |