如果不是静态类/静态实例/静态变量,则每个实例都会自己的内存空间,互相不会影响,不需要用 synchronized 进行限制

解决方案 »

  1.   

    不是一个公共类里的所有方法都是public的,method的权限可以是private……
      

  2.   

    我知道...怎么不看看要求,现在是多用户共享,怎么可以设为private???
      

  3.   

    method最终操作的肯定是数据,你只要对操作共享数据的步骤作同步就行了。
      

  4.   

    To: steelabeer(民工)、 deadrock(deadrock)你们是说什么不可能?To:  icewolf_li(冰狼)其实我也想这样,不过不确定所以来问问!
      

  5.   

    singleton是什么来的,怎样用?
      

  6.   

    你首先得确定都个用户是否共享同一个类实例,不是类本身。如果是实例,则对包含delicated数据进行同步。其实这就是一个多进程对sharing data 操作的问题了。你可以看一下这方面的内容。
      

  7.   

    在这个类里面这么多方法,而且用到的变量有几个,不会是在每一个方法里面都在里面的第一行用 synchronized(varName)?而且有些是几个变量同时出现在一个方法里面!
      

  8.   

    你这个类是不是存储了很多设置信息,所有方法,变量都是STATIC的吗?如果是这样{
       如果这些变量不是很敏感
           不用synchronized
       如果这些变量要求很严,很敏感
           用synchronized
    }
    else{
       不用synchronized
    }
      

  9.   

    其中有一个变量如:Vector vector; 在有些方法中用addElement,有些方法则用removeElement,这两个方法就可能同时操作vector,这种情况应该用synchronized吧?
      

  10.   

    To: tomxutomxu(shprog)在这个类中,除了private的变量和方法外,其他共用的方法和变量都没加上 static ,按你这样说就 else{  
         不用synchronized  
    } 应该不行吧???
      

  11.   

    vector本身是synchronized的,你不需要再synchronized了;如果还有其他必须保持一个实例访问的共享资源,则要用synchronized。