linux创建二个线程输出id和学号,比较二个线程id

x33g5p2x  于2021-12-01 转载在 Linux  
字(0.9k)|赞(0)|评价(0)|浏览(414)

1.创建2个线程,线程1输出线程id和自己姓名,线程2输出线程id和自己学号,比较两个线程id是否相等,输出比较的结果。

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>


//定义线程1运行函数
void* th_fn1(void *arg) //传入void*数值
{
	printf("线程1: %lx\n",pthread_self()); //以十六进制输出线程1id
	printf("线程1:张三\n");
	return (void*)0; //返回指针 数值0
}
//定义线程2运行函数
void* th_fn2(void *arg) //传入void*数值
{
	printf("线程2: %lx\n",pthread_self()); //以十六进制输出线程2id
	printf("线程2:541913430301\n");
	return (void*)0; //返回指针 数值0
}


int main()
{
	 int err;//定义错误存储
   pthread_t  tid1,tid2;//定义线程标识符

   //创建tid1线程
   if((err=pthread_create(&tid1,NULL,
                         th_fn1,NULL)!=0))
   {perror("pthread_create error");}

   //创建tid2线程
   if((err=pthread_create(&tid2,NULL,
                         th_fn2,NULL)!=0))
   {perror("pthread_create error");}

sleep(1);
//比较大小
if (pthread_equal(tid1,tid2))
{
	printf("线程id一致\n");
}
else{
	printf("线程id不一致\n");
}

	return 0;
}

相关文章