由于每一个用户的执行都会反过来影响其他用户的状态和信息,需要避免这些用户同时执行,怎样做?如果做了限制,那么是应该让别的用户等待呢?还是怎样?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【gzronald70】截止到2008-07-19 09:06:29的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    更准确地说实在方法前加上关键字 synchronized (同步)即可,如果在执行时该方法中的变量可能在同一个类中其他方法中被修改,那么可以给这个类加一个synchronized关键字
      

  3.   

    public void synchronized XXX () {}线程同步,说白了就是这个方法就只能一个人一个人的来跑·····
      

  4.   

    都回答完了,呵呵,我就补充下吧,使用synchronized 进行同步效率会降低很多
      

  5.   

    建议看synchronized相关的资料。
    以下是Thinking in Java第二版中文版,得到有关synchronized的如下信息
    1、synchronized关键字的作用域有二种:1)是某个对象实例类,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的synchronized方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法;2)是某个类的范围,synchronized static aStaticMethod{}防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。2、除了方法前用synchronized关键字,synchronized关键字还可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象;3、synchronized关键字是不能继承的,也就是说,基类的方法synchronized f(){} 在继承类中并不自动是synchronized f(){},而是变成了f(){}。继承类需要你显式的指定它的某个方法为synchronized方法;
      

  6.   

    synchronized,不过不一定要加到方法的前面,也可以加到方法里面你认为需要同步的代码段中,这样效率会比直接加在方法前面高