- 7.18. 优先阻塞队列(Priority Blocking Queue)
7.18. 优先阻塞队列(Priority Blocking Queue)
基于Redis的分布式无界优先阻塞队列(Priority Blocking Queue)Java对象的结构与java.util.concurrent.PriorityBlockingQueue类似。可以通过比较器(Comparator)接口来对元素排序。PriorityBlockingQueue的最大容量是4 294 967 295个元素。
RPriorityBlockingQueue<Integer> queue = redisson.getPriorityBlockingQueue("anyQueue");queue.trySetComparator(new MyComparator()); // 指定对象比较器queue.add(3);queue.add(1);queue.add(2);queue.removeAsync(0);queue.addAsync(5);queue.take();
当Redis服务端断线重连以后,或Redis服务端发生主从切换,并重新建立连接后,断线时正在使用poll,pollLastAndOfferFirstTo或take方法的对象Redisson将自动再次为其订阅相关的话题。
