08 2022 档案
SpringBoot使用RabbitMq实现队列和延时队列
摘要:闲来无事看了看RabbitMq的队列,总结了一些队列的实现方法,当然,免不了各种看别人的博客哈哈哈 其中延时队列有两种方式,一种是使用TTl+死信队列实现,一种是直接用RabbitMq的官方插件 第一种写起来比较麻烦,这里就只说第二种了 接下来从头开始说吧 1.首先是插件下载 打开链接https:/
阅读全文
多线程sleep()和wait()的区别
摘要:wait()的作用是让当前线程由运行状态进入等待阻塞状态 而sleep()的作用也是让线程由运行状态进入阻塞状态 不同的是wait()会释放对象的同步锁,而sleep()则不会释放锁 wait通常被用于线程间交互,sleep通常被用于暂停执行。
阅读全文
java创建线程池的方式
摘要:java创建线程池一共有七种方式 这 7 种实现方法分别是: Executors.newFixedThreadPool:创建一个固定大小的线程池,可控制并发的线程数,超出的线程会在队列中等待。Executors.newCachedThreadPool:创建一个可缓存的线程池,若线程数超过处理所需,缓
阅读全文
map删除key报错java.util.ConcurrentModificationException
摘要:遍历map判断value值是否为空,为空则删除此key原始方法 for (String key: map.keySet()){ if (CollectionUtils.isEmpty(map.get(key))){ map.remove(key); } } 实践发现会报java.util.Concu
阅读全文