在一个6台服务器的web环境,假设用一个类为单例模式,类中有如下代码public class A { private static int count = 20; public cosume(){
   if(count-->0){
dosomething();
   }
}}
意思就是,我想保证dosomething()方法只被调用20次。
那么如果把这个类部署到6台机器的集群上,会有6个jvm,那么dosomething()会被调用120次吗?
还是20次?

解决方案 »

  1.   

    1台主机,5台客户端,只用一个JVM,可考虑多线程
      

  2.   

    其他5个JVM,都调一个JVM里面的那个方法就行,用RMI
      

  3.   

    使用RMI,只有一个机器真正计数,其他的通过代理去访问修改这个数
      

  4.   

    远程   方法   调用
    Remote Method Invocation
    R      M      I
      

  5.   

    集群环境下,你这个方法不起作用用memcache加同步实现原子性。