[Java基础]多线程求和小例子

看到一个线程题目,自己对线成不太了解,看看书,写个小例子。抛砖引玉吧


/**
 * 多线程求和
 * @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); 
        } 
       
    } 
}

原文地址:https://www.cnblogs.com/liuyongcn/p/2123208.html