7-2 试试多线程

编写4个线程,第一个线程从1加到25,第二个线程从26加到50,第三个线程从51加到75,第四个线程从76加到100,最后再把四个线程计算的结果相加。

输入格式:

输出格式:

最终结果

输入样例:

复制代码

输出样例:

复制代码
5050

代码

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        SumOfRange s1 = new SumOfRange(1,25);
        SumOfRange s2 = new SumOfRange(26,50);
        SumOfRange s3 = new SumOfRange(51,75);
        SumOfRange s4 = new SumOfRange(76,100);

        s1.start();
        s2.start();
        s3.start();
        s4.start();

        try {
            s1.join();
            s2.join();
            s3.join();
            s4.join();

        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }

        System.out.println(SumOfRange.sum);
            }
        }

class SumOfRange extends Thread {
    private int start;
    private int end;
    public static int sum;

    public SumOfRange(int start, int end) {
        this.start = start;
        this.end = end;
    }

    @Override
    public void run() {
        for(int i=start;i<=end;i++) {
            sum+=i;
        }
    }
}
相关推荐
程序大视界1 分钟前
【C++ 从基础到项目实战】C++(九):友元与设计模式初探——打破封装的艺术
开发语言·c++·cpp
東隅已逝,桑榆非晚4 分钟前
C语言预处理详解:从宏到条件编译
c语言·笔记·算法
hhb_6184 分钟前
Bash变量不加引号:空格文件名致命陷阱
开发语言·chrome·bash
宸津-代码粉碎机4 分钟前
Spring AI企业级RAG进阶|文档智能分片调优、ES深度整合、接口限流熔断监控生产实战
java·开发语言·人工智能·后端·spring·elasticsearch·oracle
唐青枫5 分钟前
Java MyBatis-Flex 实战指南:从 BaseMapper 到 QueryWrapper 的轻量 ORM 用法
java·mybatis
两年半的个人练习生^_^7 分钟前
JVM进阶系列:彻底理解 Java 内存模型(JMM)
java·开发语言
cpp_25017 分钟前
P10377 [GESP202403 六级] 好斗的牛
数据结构·c++·算法·题解·洛谷·gesp六级
邪修king7 分钟前
C++ 红黑树自平衡核心:旋转变色、规则详解与 STL 选型逻辑
数据结构·c++·b树·算法
一个博客1 小时前
pdf-viewer 实现预览pdf文件
开发语言·javascript·pdf
随意起个昵称2 小时前
线性dp-计数类题目10(ZBRKA)
算法·动态规划