pthread_create 创建线程 举个例子
时间: 2023-11-16 08:07:39 浏览: 102
Linux进程控制——线程创建pthread_create()
5星 · 资源好评率100%
pthread_create函数是用来创建一个新的线程的,它的原型如下:
```
int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void*), void *restrict arg);
```
其中,tidp是指向线程ID的指针,attr是指向线程属性的指针,start_rtn是指向线程函数的指针,arg是传递给线程函数的参数。下面是一个使用pthread_create函数创建线程的例子:
```
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *thread_func(void *arg)
{
int i;
for (i = 0; i < 10; i++) {
printf("Thread %d: %d\n", *(int *)arg, i);
}
return NULL;
}
int main()
{
pthread_t tid1, tid2;
int arg1 = 1, arg2 = 2;
pthread_create(&tid1, NULL, thread_func, &arg1);
pthread_create(&tid2, NULL, thread_func, &arg2);
pthread_join(tid1, NULL);
pthread_join(tid2, NULL);
return 0;
}
```
在这个例子中,我们定义了一个线程函数thread_func,它接受一个参数arg,然后在主函数中使用pthread_create函数创建了两个线程,并将arg1和arg2作为参数传递给线程函数。最后,我们使用pthread_join函数等待两个线程结束。
阅读全文