假设现在 有 A , B, C ,D  或者M个,,
第一个请求进入A 第二个请求进入B 以此类推,倒数最后一个时,会再次进入A,然后第二个请求进进入B以此类推
在java 中如何实现?

解决方案 »

  1.   

    for exampleclass Handler {
        List<Logic> list = new ArrayList<>();
        int index = 0;
        public Handler() {
            list.add(new A());
            list.add(new B())
            ... etc
        }
        public doHandler(SomeRequest request) {
            Logic log = null;
            synchronized(list) {
                log = list.get(index);
                index = (index+1)%list.size();
            }
            if (log != null) log.doYourLogic();
        }
    }
      

  2.   

    这个不行.你这个已经写死  new A 和B了,A的值比如存放着某个东西..A的值可能运营人员会把这个A里存放的值也会改变的, 而且你放LIst上 list可是无序的 可是会随机的,导致可能会导致重复什么 时候ArrayList 是无序的,还随机了?  可存储重复元素我到是知道
      

  3.   

    这个不行.你这个已经写死  new A 和B了,A的值比如存放着某个东西..A的值可能运营人员会把这个A里存放的值也会改变的, 而且你放LIst上 list可是无序的 可是会随机的,导致可能会导致重复什么 时候ArrayList 是无序的,还随机了?  可存储重复元素我到是知道
    我弄混了..我知道了 谢谢你