看到一个线程题目,自己对线成不太了解,看看书,写个小例子。抛砖引玉吧
/**
* 多线程求和
* @author LIUYONG
* 2011-07-31
*/
public class ThreadTestForSum implements Runnable {
static Integer sum = 0;
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
// 创建10个线程
ThreadTestForSum line = new ThreadTestForSum();
Thread t = new Thread(line, i+"");
//开启一个线程,执行run()方法
t.start();
}
while(true){
//当活动线程为1时候,即只有主现成还在活动
if(Thread.activeCount()==1){
System.out.println("result:"+sum);
break;
}
}
}
public void run() { // 线程
for (int i = 0; i < 10; i++) { //每条线程输出的次数 如果你是10次 10个线程,如果同步,sum 应该是100
sum++;
System.out.println("线程" + Thread.currentThread().getName() + " sum:" + sum);
}
}
}