日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

操作系统上机作业--根据莱布尼兹级数计算PI(1)(多线程)

發布時間:2023/12/1 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作系统上机作业--根据莱布尼兹级数计算PI(1)(多线程) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pi1.c: 使用2個線程根據萊布尼茲級數計算PI

? 萊布尼茲級數公式: 1 - 1/3 + 1/5 - 1/7 + 1/9 - ... = PI/4 ? 主線程創建1個輔助線程 ? 主線程計算級數的前半部分 ? 輔助線程計算級數的后半部分 ? 主線程等待輔助線程運行結束后,將前半部分和后半部分相加

實現思路:
用全局變量存儲主線程和副線程中的計算結果,然后將結果相加*4即得到結果。

#include<stdio.h> #include<unistd.h> #include<pthread.h>#define NUMBER 200double PI; double worker_output; double master_output;void *worker(void *arg){int i;double j;worker_output=0;for(i=1;i<=NUMBER;i++){j=i;if(i%2==0)worker_output-=1/(2*j-1);elseworker_output+=1/(2*j-1);}return NULL; }void master(){int i=NUMBER+1;double j;master_output=0;for(;i<=2*NUMBER;i++){j=i;if(i%2==0)master_output-=1/(2*j-1);elsemaster_output+=1/(2*j-1);} }int main(){pthread_t worker_tid;pthread_create(&worker_tid,NULL,worker,NULL);master();pthread_join(worker_tid,NULL);PI=(worker_output+master_output)*4;printf("PI: %f\n",PI);return 0; }


歡迎留言交流。。。

總結

以上是生活随笔為你收集整理的操作系统上机作业--根据莱布尼兹级数计算PI(1)(多线程)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。