首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
自考
编一个C程序,通过创建若干个线程并发运行,合作完成一个任务,例如编写一个通过模拟随机数落在圆内的概率来计算PI(π)值的程序或计算∑i3,i=1,2,…,n的程序。
编一个C程序,通过创建若干个线程并发运行,合作完成一个任务,例如编写一个通过模拟随机数落在圆内的概率来计算PI(π)值的程序或计算∑i3,i=1,2,…,n的程序。
admin
2016-05-14
11
问题
编一个C程序,通过创建若干个线程并发运行,合作完成一个任务,例如编写一个通过模拟随机数落在圆内的概率来计算PI(π)值的程序或计算∑i
3
,i=1,2,…,n的程序。
选项
答案
程序清单14-2通过模拟随机数落在圆内的概率来计算PI(π)值。 程序清单14-2:PI.C /*PI.c is a program designed to calculate pi with some threads.*/ #include<pthread.h> #include<stdio.h> #include<stdlib.h> #include<time.h> #define random(x)(rand()%x) #define MODSIZE 10000/*对random的值求模,受random最大输出值的范围影响, 过大和过小都会影响计算精度*/ #define MODSIZE2 MODSIZE*MODSIZE/*MODSIZE的平方*/ #define ARYAIMES 100000/*每一个线程的计算次数*/ /*线程执行的函数*/ void*dowork(void*pi) { int i; unsigned int x,y;/*命中的坐标值*/ unsigned int in=0,out=0; long unsigned abs;/*记录坐标点距离的平方值*/ for(i=0;i<ARYAIMES;i++){ x=random(MODSIZE); y=random(MODSIZE); abs;(x*x+y*y);/*坐标点距离的平方值*/ if(abs>=MODSIZE2) out++;/*坐标点落在圆外*/ else in++;/*坐标点落在圆内*/ } *(double*)pi:4*((double)in/(double)(in+out));/*共有四个坐标象限*/ printf("Ahepi is:%f\n",*(double*)pi); } main() { int i; int nthreads;/*要创建的线程数*/ pthread_t threads[100]; double pthread data[100];/*线程计算PI的返回值*/ double avr_pi; printf("How many threads?(max=100):"); scant("%d",&nthreads); srand((int)time(0));/*初始化随机数*/ for(i=0;i<nthreads;i++){ pthread_create(&threads[i],NULL,dowork,&pthread_data[i]); /*创建线程*/ } for(i=0;i<nthreads;i++){ pthread_join(threads[i],NULL);/*等待子线程运行结束,汇合结果*/ avr_pi+=pthread_data[i]; } avr_pi/=nthreads; printf("Ahe avr_pi is:%f\n",avr_pi); } 编译: gcc PI.c -lpthread。
解析
转载请注明原文地址:https://kaotiyun.com/show/xiNx777K
本试题收录于:
操作系统题库理工类分类
0
操作系统
理工类
相关试题推荐
控制的主要内容包括()
索赔可以从不同角度分类,如按索赔目标分类,可分为()
下列关于折旧的说法不正确的是()
简述价值工程的一般工作程序。
计算机网络安全的目标包括____________、完整性、可用性、不可否认性和可控性。
代理防火墙工作在()
按照工作原理和传输方式,可以将恶意代码分为哪几类?
“黑色星期五”病毒属于文件型病毒的()
将自身嵌入到现有程序中的病毒称为()
进程通信使用的信箱按所有者和权限可分为私有信箱、公用信箱和________三种类型。
随机试题
当事人逾期不履行行政处罚决定的,作出处罚决定的行政机关可以直接强制当事人履行。()
根据国民经济核算体系对机构单位的分类,国民经济系统中的全部机构单位可以分为()
住宅小区业主大会的职责有()。
不用钢琴,即可进行多声部音乐创作,或看着乐谱即能在意识中再现音乐音响,产生共鸣,此特征描述的是()。
下列有关急救知识的表述错误的是:
____________是古代埃及文学的汇编。(西南大学2010)
A、 B、 C、 D、 D
在T-SQL中,修改触发器tril的语句是【7】tril…
A.EventsthattookplacebeforetheearthexistedB.PowerofthetelescopeC.DetailsofEtaCarinaeD.Inventionofatimema
It’stimethatwe______totakecareofourownhouse.
最新回复
(
0
)