public class Main { public static void main(String [] args) { A a = new A(); B b = new B(); C c = new C(); D d = new D(); a.start(); b.start(); c.start(); d.start(); try { c.sleep(1000); } catch(Exception e1){ } System.out.println(a.getNumber()+b.getNumber()+c.getNumber()+d.getNumber()); } } class A extends Thread{ private int sum; @Override public void run() { for(int i=1;i<=25;i++) { sum += i; } } public int getNumber() { return sum; } } class B extends Thread{ private int sum; @Override public void run() { for(int i=26;i<=50;i++) { sum += i; } } public int getNumber() { return sum; } } class C extends Thread{ private int sum; @Override public void run() { for(int i=51;i<=75;i++) { sum += i; } } public int getNumber() { return sum; } } class D extends Thread{ private int sum; @Override public void run() { for(int i=76;i<=100;i++) { sum += i; } } public int getNumber() { return sum; } }
时间: 2023-06-17 15:02:06 浏览: 126
经典A+B三种语言解题过程
这段代码创建了四个线程 A、B、C、D,每个线程分别计算从 1-25、26-50、51-75、76-100 的整数和。最后在主线程中等待 C 线程 1 秒钟(通过调用 sleep() 方法),然后输出四个线程计算的整数和的总和。
需要注意的是,由于四个线程是并行执行的,因此无法保证它们的计算顺序。因此,每次运行程序输出的结果可能不同。
阅读全文