日期:2014-05-20  浏览次数:20835 次

这个程序异常,应该是T1/T2分别不同的线程,但是目前都是相同了,为什么?
Java code

public class TestSync implements Runnable{
    Timeer T = new Timeer();    
    public static void main(String[] args) {
        TestSync test = new TestSync();
        Thread t1 = new Thread(test);
        Thread t2 = new Thread(test);
    t1.setName("t1"); 
    t2.setName("t2");        
        t1.start();
        t2.start();        
        }
    
    public void run(){
        //System.out.println(Thread.currentThread().getName());        
        T.add(Thread.currentThread().getName());        
        }
    
    }
    
class Timeer{
    private static int num = 0;
    public void add(String name){
        num++;
    System.out.println(name+", 你是第"+num+"个使用timer的线程");
                
        }

    }    





------解决方案--------------------
运行结果:

t1, 你是第1个使用timer的线程
t2, 你是第2个使用timer的线程