#include <pthread.h>
#include <stdio.h>
void *th_fun(void *arg)
{
int *p = (int *)arg;
printf("thread ID = %d\n", (unsigned int)pthread_self());//打印子线程号
printf("thread PID = %d\n", getpid());
printf("thread *arg = %d\n", *p);
while(1);
}
int main(void)
{
pthread_t tid;
int n =10;
//pthread_creat()函数
//第一个参数:线程ID
//第二个参数:指定线程属性
//第三个:无类型指针函数
//第四个:传给无类型指针函数的参数
pthread_create(&tid, NULL, th_fun, (void*)&n);
printf("main thread ID = %x\n", (unsigned int)pthread_self());//打印主线程号
printf("main child thread ID = %x\n", (unsigned int)tid);//打印新线程号
printf("PID = %d\n", getpid());//打印进程号
while(1);//主线程结束会导致进程退出,即造成子线程无法运行
return 0;
}
线程创建
最新推荐文章于 2024-11-15 17:09:51 发布