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;
        }
    }
}
相关推荐
Aurorar0rua3 小时前
CS50 x 2024 Notes C -14
c语言·开发语言·学习方法
小短腿的代码世界4 小时前
从.qrc到rcc编译器:Qt资源系统的隐秘运作机制与大型项目性能突围
开发语言·qt
2401_833269304 小时前
Java网络编程入门
java·开发语言
金銀銅鐵4 小时前
[Java] 如何将 Lambda 表达式对应的类保存到 class 文件中?
java·后端
青瓦梦滋4 小时前
C++的IO流与STL的空间配置器
开发语言·c++
五月君_5 小时前
Bun v1.3.14 发布,Rust 版即将进 Claude Code 内测,下一版可能就告别 Zig
开发语言·后端·rust
それども5 小时前
Gradle 构建疑难杂症 Could not find netty-transport-native-epoll-linux-aarch_64.ja
java·服务器·gradle·maven
正儿八经的少年5 小时前
application.yml 系列配置文件作用与区别
java·配置文件
鱼很腾apoc6 小时前
【学习篇】第20期 超详解 C++ 多态:从语法规则到底层原理
java·c语言·开发语言·c++·学习·算法·青少年编程
cheems95276 小时前
[Spring MVC] 统一功能与拦截器实践总结
java·spring·mvc