public void prin(){
synchronized(df.class){
 for(int j=0;j<50;j++){
i++;
 System.out.println(" "+i); 
}}这样就能满足你的要求了

解决方案 »

  1.   

    synchronized(df.class)是什么意思?把synchronized放在这里和放在void prin()前面有什么区别吗?
      

  2.   

    synchronized方法锁住的只是实例啊,你的例子有两个实例哦df f1=new df();
    f1.start();
    df f2 = new df();
    f2.start();}
    ,所以跟没有用synchronized一样啊,synchronized(df.class)是锁住一个类型啊,一个虚拟机中只有一个df的class啊,所以就能锁住啊。
      

  3.   

    zkhj(zkhj) 你的办法不行,没试过就敢乱说?
      

  4.   

    zkhj(zkhj),我明白你的意思。要是定义成公有变量就没意思了
      

  5.   

    nicolas2,这个问题分太少了,不过还是要谢谢你。