云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 操作系统实践报告

操作系统实践报告

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 18:06:10

}

ring.c: 创建N个线程,它们构成一个环

? ? ? ? ? ? ? ? ?

思路:

设置三个全局变量N、count和finalData,主线程创建一个子线程,该子线程执行add函数,并且等待子线程介入,其中add函数执行加一操作并且add函数中也创建新的线程执行add函数,并且等待新的线程结束,并将count加一并判断是否小于N,一旦等于N则不再创建新的线程并将计算结果赋值给finalData。在主线程中设置一个while循环,将finalData作为参数传递给主线程创建的第一个子线程。 源代码:

#include

创建N个线程:T1、T2、T3、… TN T1向T2发送整数1 T2收到后将整数加1 T2向T3发送整数2 T3收到后将整数加1 T3向T4发送整数3 …

TN收到后将整数加1 TN向T1发送整数N

#include #include #include

#define N 2 int count=0;

pthread_t workers[N+1]; pthread_t init_id; int finalData;

struct param { };

void *addmm(void *arg){

if(count

pa->data++;

pthread_create(&id,NULL,addmm,pa); pthread_join(id,NULL); return NULL; count++; sleep(1);

struct param *pa=(struct param *)arg; pthread_t id;

printf(\printf(\

printf(\printf(\ int data;

}else{

pa->data++; finalData=pa->data; return NULL;

}

}

int main(){ }

struct param mpa; mpa.data=1; struct result *re; while(1){ }

pthread_create(&init_id,NULL,addmm,&mpa); pthread_join(init_id,(void **)&re); mpa.data=finalData;

搜索更多关于: 操作系统实践报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

} ring.c: 创建N个线程,它们构成一个环 ? ? ? ? ? ? ? ? ? 思路: 设置三个全局变量N、count和finalData,主线程创建一个子线程,该子线程执行add函数,并且等待子线程介入,其中add函数执行加一操作并且add函数中也创建新的线程执行add函数,并且等待新的线程结束,并将count加一并判断是否小于N,一旦等于N则不再创建新的线程并将计算结果赋值给finalData。在主线程中设置一个while循环,将finalData作为参数传递给主线程创建的第一个子线程。 源代码: #include 创建N个线程:T1、T2、T3、… TN T1向T2发送整数1 T2收到后将整数加1 T2向T3发送整数2 T3收到后将整数加1 T3向T4发送整数3 …

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com