这道题问的好奇怪,如果他是要解决同步问题,那么加上锁就是了,如果他是想在异步环境正确的实现该类,那么counter变量就把他改成线呈私有就是了,那么各线呈就不会互相影响该变量了不知道他的问题是什么意思

解决方案 »

  1.   

    (1)线程安全问题,将导致无法预测的结果。
    (2)不能。
    (3)
    public class Bean{
        private int counter = 1;
        private int businessMethod1(){
            for(int i=0;i<10;i++){counter++;}
            return counter;
        }
        public int businessMethod2(){
          synchronized(this) {
            this.businessMethod1();
            for(int i=0;i<10;i++){
                counter = counter*i;
            }
          }
          return counter;
        }
    }