linux多进程编程计算圆周率,中值积分定理计算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值的多线程实现相关推荐
- Linux -- 多进程编程之 - 守护进程
内容概要 一.守护进程概述 二.守护进程创建 2.1.创建子进程,父进程退出 2.2.在子进程中创建新会话 2.2.1.进程组和会话期 2.2.2.setsid()函数说明 2.3.改变当前工作目录 ...
- LINUX 多进程编程 C语言实例
LINUX多进程编程 简单实例 1.ps与top命令 查看进程状态 2.系统调用ping,并执行 #include <stdio.h> #include <string.h> ...
- Linux多进程编程
fork系统调用 #include <sys/types.h> #include <unistd.h>/* Clone the calling process, creatin ...
- c语言多进程编程,C语言中的多进程
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 序言 为了充分利用计算机中的多核CPU,计算机提供了两个接口使用多核CPU,两个接口分别是:多进程.多线程.本编文章将介 ...
- Linux多进程编程之在线词典
在线词典是基于Linux 多进程并发服务器编程,由服务器端和客户端构成,客户端可以运行在多个不同的主机上连接服务器,服务器对员工信息的操作结果通过数据库sqlite来保存.当用户登录后,根据用户名判断 ...
- python计算圆周率_用python计算圆周率Π
一.要求: 1.计算到圆周率后面越多位越好. 2.用进度条显示计算的进度. 3.要求给出圆周率Π的具体计算方法和解释. 二.算法: 1.拉马努金公式: 2.高斯-勒让德公式: 设置初始值: 反复执行以 ...
- 用python计算圆周率_用python计算圆周率π
原博文 2020-03-22 15:32 − 用python计算圆周率π 一.要求 1.要起义能计算到圆周率后面越多位越好. 2.用进度条显示计算的进度,能给出越多种进度条越好. 3.要求给出圆周率π ...
- math java 计算_Java中的数学计算函数汇总
Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(B ...
- 用python计算圆周率_用python计算圆周率PI
一.计算圆周率PI的方法 (一)公式法: 1 #CalPiV1.py 2 pi =03 N = 100 4 for k inrange(N):5 pi += 1/pow(16, k) * (4 / ( ...
- java语言计算圆周率_Java语言简单计算圆周率完整示例
本文实例讲述了Java语言简单计算圆周率完整示例.分享给大家供大家参考,具体如下,希望对大家学习Java语言简单计算圆周率有所帮助. 这两天在网上看到一个题,已知Pi可以用函数4 * (1 – 1/3 ...
最新文章
- 集成学习需要理解的一些内容
- Lazy Load, 延迟加载图片的 jQuery 插件
- ping 出现(DUP)以及连接虚拟机ssh自动断开
- 微软认知服务应用秘籍 – 与机器人聊知识
- 设计一个安全对外的API接口,需要考虑哪些方面?
- 蓝桥杯2019真题-完全二叉树的权值
- C# 获取文件名及扩展名【转】
- 【深度学习】损失函数记录
- Android-EventBus 使用以及区别
- 软件开发项目管理经验总结
- visual studio 2019/2022 安装时卡住,一直正在提取文件时的亲测有效的解决方案
- 百度SiteApp构建网站APP
- 2010总结,2011展望
- 剑指offer中使用辅助栈方法的题目的整理(待更)
- xshell不能通过账户密码连接虚拟机
- PIO操作与DMA操作
- python循环案例:模拟银行ATM存款取款
- 由一位坛友的布局想到的定位问题:absolute和relative
- 【论文翻译笔记】Test Roll: Profit-Maximizing A/B Tests
- A Novel Proof-of-Reputation Consensus for Storage Allocation in Edge Blockchain Systems 精读笔记(三)
热门文章
- Spring整合ActiveMQ完成消息队列MQ编程
- class.getResourceAsStream与class.getClassLoader().getResourceAsStream区别
- SQLyog连接虚拟机中docker中的mysql过程详解,并解决2003错误
- 性能测试(05)-表达式和业务关联-json关联
- QML 性能优化建议(一)
- 肝了十几个小时的java反射,希望对大家有所帮助吧!
- JS / 闭包的理解
- 启明云端分享|直接用ESP32-S2和ESP32-C3驱动1.54寸串口屏,有哪些区别呢,他们的亮点又有哪些呢
- Altium designer中电路图保存在word中
- php myadmin utf,phpmyadmin在哪里设置utf_8