课堂编程实践
编写10个线程,第一个线程从1加到10,第二个线程从11加到20,....第10个线程从99加到100,组后再把10个线程的结果相加。
- public class Accumulator extends Thread {
- private int startNum;
- public static int sum;
- public Accumulator(int startNum) {
- this.startNum=startNum;
- }
- public static synchronized void add(int num) {
- sum+=num;
- //System.out.println(sum);
- }
- public void run() {
- int sum=0;
- for(int i=0;i<10;i++) {
- sum+=startNum+i;
- //System.out.println(sum);
- }
- add(sum);
- }
- public static void main(String[]args) throws Exception{
- int count=10;
- Thread []threadList=new Thread[count];
- for(int i=0;i
- threadList[i]=new Accumulator(10*i+1);
- threadList[i].start();
- }
- for(int i=0;i
- threadList[i].join();
- }
- System.out.println("Sum is:"+sum);
- }
- }
运行结果:
Sum is:5050
-
相关阅读:
【数据结构】静态分配的顺序表的删除元素
【亚马逊云+阿里万网】| 实现网站证书配置和域名解析
2022年12月 电子学会青少年软件编程 中小学生Python编程 等级考试一级真题答案解析(选择题)
Shell-08函数与Expect
Servlet规范之应用生命周期事件
如何安装React的第一个脚手架
Algorithm Review 8 分治
IB课程从29分提到44分,如何拿捏?
Pytorch中Conv2d和ConvTranspose2d参数计算公式
【Java分享客栈】一文搞定CompletableFuture并行处理,成倍缩短查询时间。
-
原文地址:https://blog.csdn.net/m0_65594779/article/details/128147773