<%!Hashtable hashtable=new Hashtable();
     public synchronized void putString(String s)
     { hashtable.put(s,s);
     }
  %>
我在java帮助中找不到synchronized修饰,迷糊。怎么用它?

解决方案 »

  1.   

    synchronized 为 JAVA 关键字,用于多线程编程时的同步处理。用于方法时,表明方法中的所有代码都将包括在:synchronized(this) {
        ...
    }这样一个同步块中。
      

  2.   

    当一个方法有synchronized来修饰时,如果遇到多个客户端要同时访问这个方法的时候,就会进行同步处理,让各个客户端串行地访问同一段代码...
      

  3.   

    WEB程序可能有并发的多个用户同时访问.<%!%>中定义的变量是共享的.这同时并发的用户都可以修改.为了确保数据的正确性.必须一个接一个来修改.否则数据会出现错误.synchronized就保证了这一点.多个用户被WEB服务器视为多个线程.当一个线程在修改synchronized中数据时候,其他县城必须等待.知道此县城释放占有的共享资源.所以可以保证数据的正确性.即所谓的one by one.是妹妹吗?这么晚还不睡觉?