pthread_create函数
-
功能:创建一个新线程。 其作用,对应进程中fork() 函数
-
Int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
void *(*start_routine) (void *), void *arg) -
返回值:成功:0; 失败:错误号 -----Linux环境下,所有线程特点,失败均直接返回错误号
-
参数:
-
pthread_t:当前Linux中可理解为:typedef unsigned long int pthread_t;
-
参数1:传出参数,保存系统为我们分配好的线程ID
-
参数2:通常传NULL,表示使用线程默认属性。若想使用具体属性也可以修改该参数。
-
参数3:函数指针,指向线程主函数(线程体),该函数运行结束,则线程结束。
-
参数4:线程主函数执行期间所使用的参数
创建线程
#include<stdio.h>
#include<pthread.h>
#include<unistd.h>
#include<stdlib.h>
void *thrd_func(void*arg)
{
prrintf("In thread;thread id=%lu,pid=%d\n",pthread_self(),getpid());//子线程id
return NULL;
}
int main()
{
pthread_t tid;
int ret;
printf("In main 1:thread id=%lu,pid=%u\n",pthread_self(),getpid());//主控线程id
ret=pthread_create(&tid,NULL,thrd_func,NULL);//主控线程
if(ret!=