序
双向队列(Deque),是Queue的一个子接口,双向队列是指该队列两端的元素既能入队(offer)也能出队(poll)。使用场景比如工作窃取,比如限流。...限流实例
使用deque来限流,其中timeIntervalInMs为事件窗口,maxLimit为该事件窗口的最大值。...LOGGER.info("time window expired,current:{},last:{}",currentTimeMillis,last);
//超过时间窗口了,超过maxLimit的情况下...pool.invokeAll(Arrays.asList(test,test,test,test,test));
Thread.sleep(100000);
}
小结
这里使用了...Deque的容量来作为时间窗口的限流大小,利用两端来判断时间窗口,相对来讲有点巧妙。