linux--创建2个线程,分别计算不同图形面积

x33g5p2x  于2021-12-02 转载在 Linux  
字(0.8k)|赞(0)|评价(0)|浏览(538)

2.创建2个线程,线程1计算以学号后两位为边长的正方形面积,线程2计算以学号后两位为半径的圆形面积,分别输出计算结果。

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

//定义线程1运行函数
void* th_fn1(void *arg) //传入void*数值 a
{
	int bianchang=(long)arg;
	int v;
	v=bianchang*bianchang;
	printf("线程1:正方形面积为: %d\n",v);
}

//定义线程2运行函数
void* th_fn2(void *arg) //传入void*数值 r
{
	int banjing=(int)arg;
	double v;
	v=3.14*banjing*banjing;
	printf("线程2:圆形面积为: %f\n",v);
}


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

   printf("学号是541913430301\n");
   int a=1;//边长为1
   int r=1;//半径为1

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

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

sleep(1);

return 0;
}

可以规定圆形面积v规范

printf(“线程2:圆形面积为: %.2f\n”,v);

相关文章