linux多线程计算pi代码,中值积分定理计算PI值的多线程实现
// Parallel.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
static long num_steps = 100000;
const int numThreads = 4;
double step, pi;
CRITICAL_SECTION g_cs;
double sum = 0.0;
DWORD WINAPI countFunc(LPVOID pArg) {
double x;
int i;
int temp = *(int *)pArg;
int start = (temp*num_steps) / 4;
int end = start + num_steps / 4;
for (i = start; i < end; i++) {
EnterCriticalSection(&g_cs);
x = (i + 0.5)*step;
sum = sum + 4.0 / (1.0 + x*x);
LeaveCriticalSection(&g_cs);
}
return 0;
}
void main()
{
int i;
HANDLE hThread[numThreads];
step = 1.0 / (double)num_steps;
int tNum[numThreads];
InitializeCriticalSection(&g_cs);
for (int i = 0; i < numThreads; i++) {
tNum[i] = i;
hThread[i] = CreateThread(NULL, 0, countFunc, (LPVOID)&tNum[i], 0, NULL);
}
WaitForMultipleObjects(numThreads, hThread, TRUE, INFINITE);
DeleteCriticalSection(&g_cs);
pi = step * sum;
printf("PI = %12.9f\n", pi);
system("pause");
}
linux多线程计算pi代码,中值积分定理计算PI值的多线程实现相关推荐
- zynq amp Linux+bare裸跑代码中不能响应irq61中断
zynq amp, Linux+bare,裸跑代码中,外部中断irq61为什么响应了几百或者几千次后就不再响应了? 这个问题很是奇怪,如果一个irq61中断没响应还好纠错,一个没响应直接检查irq61 ...
- python计算圆周率代码_使用 Python 计算 π 值
π是一个无数人追随的真正的神奇数字.我不是很清楚一个永远重复的无理数的迷人之处.在我看来,我乐于计算π,也就是计算π的值.因为π是一个无理数,它是无限的.这就意味着任何对π的计算都仅仅是个近似值.如果 ...
- 张飞硬件设计与开发笔记(1):电路中阻值的计算和电源电路中滤波电容的计算
本篇文章将介绍电阻,电容的作用,并通过实际例题计算电阻的值,以及滤波电容的具体计算方法 通常电路设计包括模拟电路,数字电路,视频电路,但是,他们的本质和基础都是由模拟电路而来,所以,学好了模拟电路,在 ...
- linux多进程编程计算圆周率,中值积分定理计算PI值的多线程实现
// Parallel.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include #include static long num_ ...
- oracle 中的pi,Oracle中实现圆周率计算(一)
今天两个同事用JAVA实现圆周率一百位小数的实现.一个同事问我要不要试试,由于很长时间没有写过JAVA代码,而且本身JAVA的水平就很差,于是打算用ORACLE实现. 其实Oracle中使用现成的函数 ...
- Linux 平台 C/C++ 代码中设置线程名
一般来说,Linux 平台的 C/C++ 程序可以用 prctl() 或 pthreads 的 pthread_setname_np() 接口为一个线程设置线程名.prctl() 可以用于为当前线程设 ...
- linux程序计数器,如何在C中打印程序计数器的确切值
小编典典 您应该能够使用ARM编译器工具链中的__current_pc()内在函数来确定PC (ARM编译器支持许多与GCC相同的扩展).*这是ARM特有的: int main () { printf ...
- 查找出现次数 oracle,ORACLE计算某个列中出现次数最多的值
如下例所示,查找deptno=20部门中sal出现次数最多的值. SQL> select sal 2 from 3 ( 4 select sal,dense_rank() over(ord ...
- android 有值代码,Android:如何在代码中获取“listPreferredItemHeight”属性的值?
这样做: TypedValue value = new TypedValue(); ((Activity)context).getTheme().resolveAttribute(android.R. ...
最新文章
- C++模板之特化与偏特化详解
- 【C++】46.宏定义##连接符和符#的使用
- php 5.5.7.tar.gz,编译 php-5.5.26.tar.gz
- CodeIgniter框架下载辅助函数的一个小bug
- SSH、SSL与HTTPS
- zenmap工具说明及常用参数解释
- 我的手绘2013.01.27
- python解决单调栈问题
- Mysql记录历史执行的sql
- (29)Spring boot 文件上传(多文件上传)【从零开始学Spring Boot】
- Microsoft® Silverlight™ Streaming by Windows Live™
- MySQL设计说明书_数据库详细设计说明书-模板.doc
- 关于Zipf定律的理解和python实现
- 5.3 使用数据结构对真实世界建模
- 商城APP开发关键板块
- java中钟摆运动的代码_仿真树叶飘落效果的实现(精灵旋转、翻转、钟摆运动等综合运用)...
- 在Word文档里如何快速返回目录页-Office学习
- jvm:ObjectMonitor源码
- oracle dba 培训教程 第14章 管理权限
- Arduino开发板连接振动传感器模块