并行程序
Lhw_666
这个作者很懒,什么都没留下…
展开
-
Python|Windows下实现经典进程同步问题——理发师问题
采用python多线程模拟理发师问题,初始的时候需要设置理发店可供等待顾客坐的椅子数。理发师问题用P、V操作描述如下:信号量mutex表示waiting的互斥操作权,初值为1信号量bchair表示理发椅互斥,初值为1信号量wchair表示等待椅资源,初值为n信号量ready和finish进行理发师和顾客间通信,初值为0int waiting = 0;//顾客数(正在理发的+等待的,最多N+1人)semphore mutex = 1, bchair = 1, wchair = n, ready原创 2020-09-20 17:19:16 · 1379 阅读 · 0 评论 -
OpenMP实现求矩阵均值最大值以及最小值
编写OpenMP程序,求10000*10000矩阵的均值,并找到矩阵的最大值和最小值,比较共享变量和私有变量。#include <stdio.h>#include <stdlib.h>#include <time.h>#include <omp.h>omp_lock_t mutex;int Arr[10000][10000];long long sum1 = 0, sum2 = 0, end_time1, start_time1, end_ti原创 2020-09-20 16:04:38 · 1535 阅读 · 0 评论 -
OpenMP实现数据统计
编写OpenMP程序,数组里存放大量浮点数,数据分布在05之间,为了对数据分布有一个更为直观的感受,对数据进行统计,01之间、1~2之间…分别有多少浮点数。#include <stdio.h>#include <stdlib.h>#include <time.h>#include <omp.h>#define DATA_COUNT 10000#define BIN_COUNT 5double data[DATA_COUNT];int min =原创 2020-09-20 16:02:58 · 556 阅读 · 0 评论 -
Pthreads实现任务队列
编写一个Pthreads程序实现一个“任务队列”。主线程启动用户指定数量的线程,这些线程进入条件等待状态。主线程生成一些任务(一定计算量),每生成一个新的任务,就用条件变量唤醒一个线程,当这个唤醒线程执行完任务时,回到条件等待状态。当主线程生成完所有任务,设置全局变量表示再没有要生成的任务了,并用一个广播唤醒所有线程。为了清晰起见,建议任务采用链表操作。#include <stdio.h>#include <stdlib.h>#include <pthread.h>原创 2020-09-20 16:00:26 · 1727 阅读 · 0 评论 -
Pthreads实现梯形积分
编写一个Pthreads程序实现梯形积分,使用一个共享变量来表示所有线程计算结果的总和,选择使用忙等待、互斥量和信号量来保证临界区的互斥,并分析方法的优点和缺点。#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <semaphore.h>#include <time.h>int thread_count, flag = 0;long n, order,原创 2020-09-20 15:58:34 · 2511 阅读 · 0 评论