POSIX多线程(Pthreads)是一个可移植的多线程库,在设计上提供了在多个操作系统平台上使用一致的程序设计接口的功能,现已是 Linux操作系统中多线程接口的标准,并广泛使用在大多数UNIX平台上,还有一个针对Windows的开源版本pthreads-win32。
创建线程
POSIX多线程库中创建线程的函数是pthread_create():
pthread_create (
pthread_t *restrict tidp, //线程ID
const pthread_attr_t *restrict attr, //线程属性(NULL=none)
void *(*start_rtn)(void), //线程执行的函数
void *restrict arg //传递到函数中的参数
);
例如:
#include
#include
#include
struct person{
char *name;
int age;
};
//线程执行的操作
void doSomething(struct person *p){
printf(”I am %s, %d years old.\n”,p->name,p->age);
}
//主函数
int main(){
int i;
char *name=”Oscar Tang”;
for(i=0;i<10;i++){
struct person p;
p.name=name;
p.age=i;
pthread_t pid;
pthread_create(&pid,NULL,(void *)doSomething,&p);
}
}
0 意見