Javaはマルチスレッドを試してください

トピックの詳細:

7-2マルチスレッドを試す(25ポイント)

4つのスレッドを書き込み、最初のスレッドは1から25に、2番目のスレッドは26から50に、3番目のスレッドは51から75に、4番目のスレッドは76から100に、最後にさらに4つのスレッドを追加します。スレッド計算の結果は合計されます。 。

入力フォーマット:

それなし

出力フォーマット:

最終結果

入力サンプル:

 
 

最後に空白行はありません

サンプル出力:

5050

最後に空白行はありません

回答コード:

import java.util.*;
public class Main {
    public static void main(String[] args) {
    	int sum=0;
    	for(int i=1;i<=4;i++){//通过循环,建立四个线程
    		Cul cul=new Cul(i);//建立子类对象,用i标识本线程应当执行的是第几段加和
    		Thread thread=new Thread(cul);//创建Tread对象,引用子类对象。
    		thread.start();
    		try {
				thread.join();
				/*虽然原意是通过循环变量来控制线程们的顺序,但是达不到预期效果。
				于是通过i来控制抢占顺序,让四个线程顺序进行。*/
			} catch (InterruptedException e) {}
			//join方法存在异常现象,所以要try catch 抛出一下。
    		sum=cul.getSum();
    	}
    	System.out.println(sum);
    }
}
class Cul extends Thread{
	private int num;
	private static int sum=0;
	public Cul(){}
	public Cul(int num){
		this.num=num;
	}
	public void run(){//重写run方法。
		
		for(int i=25*(num-1)+1;i<=num*25;i++){
			sum+=i;
		}
		//System.out.println(num+"**"+sum);
	}
	public int getSum(){
		return sum;
	}
}

おすすめ

転載: blog.csdn.net/qq_54587141/article/details/121214062