创建一个线程
int pthread_create(pthread_t *thread,const pthread_attr_t *attr,
void *(*start_routine)(void *),void *arg);
thread 线程的id,传出参数
attr 代表线程的属性
void *(*start_routine)(void *) 函数指针,void func(void)
arg线程执行函数的参数
返回值:成功返回0,失败返回errno
编译的时候要加pthread库
pthread_create.c
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
void* thr(void *arg)
{
printf("I am a thread! pid=%d,tid=%lu\n",getpid(),pthread_self());
return NULL;
}
int main()
{
pthread_t tid;
pthread_create(&tid,NULL,thr,NULL);
printf("I am a main thread! pid=%d,tid=%lu\n",getpid(),pthread_self());
sleep(1);
return 0;
}
编译
gcc pthread_create.c -lpthread
这篇博客介绍了如何在C语言中使用pthread_create函数创建线程。示例代码展示了如何定义线程函数,传递参数,并在主线程中等待子线程结束。通过调用pthread_create,可以创建一个新的线程,其属性可以通过attr参数进行设置。
3476

被折叠的 条评论
为什么被折叠?



