Java线程编程题

题目描述:

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

package Thread_test;
	

class Thread_test extends Thread
{
	int number;
	public static int sum;
	public Thread_test(int n) //构造函数
	{
		number=n;
	}
	public static synchronized void add(int num){  //同步方法
		sum += num;
		}
	public void run()
	{
		int count=0;
		for(int i=0;i<10;i++)
		{
			count+=number+i;
		}
		System.out.println("第"+((int)number/10+1)+"个进程相加结果为:"+count);
		add(count);
//		System.out.println("Sum is : " + sum);//测试
	}
	public static void main(String[] args)throws Exception 
	{
		for(int i=0;i<10;i++)
		{
			int j=i*10+1;
			Thread_test a=new Thread_test(j);
			a.start();
			a.join(); //thread.Join把指定的线程加入到当前线程,可以将交替执行的线程合并为顺序执行的线程。
		}
		System.out.println("10个进程相加结果为: " + sum);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_34490018/article/details/81103265