编写10个线程,第一个线程从1加到10,第二个线程从11加到20...第十个线程从91加到100,最后再把十个线程结果相加。

编写10个线程,第一个线程从1加到10,第二个线程从11加到20...第十个线程从91加到100,最后再把十个线程结果相加。

class Addition extends Thread{		//注意用线程数组,实例化对象为Thread类型对象,需建立Thread类的对象
	private int currNum;
	private static int sum;
	public Addition(int currNum){
		this.currNum = currNum;
	}
	public static synchronized void add(int num){
		sum = sum + num;
	}
	public void run(){
		int sum = 0;
		for(int i=0; i<10; i++){
			sum = sum + currNum + i;
		}
		add(sum);
	}
	public int getSum(){		//用于获取sum
		return sum;
	}
}

public class Test{
	public static void main(String []a){
		Thread[] threadList = new Thread[10];	//新建线程数组
		for(int i = 0;i<10;i++){
			threadList[i] = new Addition(10*i + 1);
			threadList[i].start();
		}
		Addition a1 = new Addition(0);
		System.out.println("Sum is : "+ a1.getSum());
	}
}
  •  

猜你喜欢

转载自blog.csdn.net/csp_6666/article/details/86525352