pthread_create
pthread_create是类Unix操作系统(Unix、Linux、MacOS X等)的创建线程的函数。头文件 :#include<pthread.h>
函数定义:intpthread_create(pthread_t *tidp,const pthread_attr_t *attr,(void*)(*start_rtn)(void*),void *arg);
编译链接参数:-pthread
返回值:0创建成功;创建失败返回错误编号,同时*thread内容未定义
参数:
第一个参数为指向线程标识符的指针。
第二个参数用来设置线程属性。
第三个参数是线程运行函数的起始地址。
最后一个参数是运行函数的参数。
pthread_join
函数pthread_join用来等待一个线程的结束。头文件: #include<pthread.h>
函数定义: intpthread_join(pthread_t thread, void **retval);
描述:pthread_join()函数,以阻塞的方式等待thread指定的线程结束。当函数返回时,被等待线程的资源被收回。如果线程已经结束,那么该函数会立即返回。并且thread指定的线程必须是joinable的。
参数 :thread:线程标识符,即线程ID,标识唯一线程。retval:用户定义的指针,用来存储被等待线程的返回值。
返回值 : 0代表成功。失败,返回的则是错误号。
注:
还有一些线程,更喜欢自己来清理退出的状态,他们也不愿意主线程调用pthread_join来等待他们。我们将这一类线程的属性称为detached。如果我们在调用pthread_create()函数的时候将属性设置为NULL,则表明我们希望所创建的线程采用默认的属性,也就是joinable。