在Linux中,pthread_create函数用于创建一个新的线程。其语法如下:
intpthread_create(pthread_t*thread,constpthread_attr_t*attr,void*(*start_routine)(void*),void*arg);
其中,参数含义如下:
thread
:用于存储新线程的ID。attr
:线程属性,一般设置为NULL。start_routine
:线程的入口函数,即新线程运行的起始地址。arg
:传递给start_routine函数的参数。
下面是一个简单的例子,展示如何使用pthread_create函数创建一个新的线程:
#include<stdio.h>
#include<pthread.h>
void*myThread(void*arg){
int*num=(int*)arg;
printf("ThreadID:%ld,Number:%d\n",pthread_self(),*num);
returnNULL;
}
intmain(){
pthread_ttid;
intnumber=10;
pthread_create(&tid,NULL,myThread,&number);
pthread_join(tid,NULL);
return0;
}
在上面的例子中,首先定义了一个名为myThread的线程函数,然后在主函数main中使用pthread_create函数创建一个新的线程,并传递参数number给新线程。最后,使用pthread_join函数等待新线程执行完毕。
需要注意的是,使用pthread_create函数创建新线程时,需要链接pthread库。可以使用如下命令编译程序:
gcc-omyprogrammyprogram.c-lpthread