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;
}