忐忑冬天

文章
3
资源
1
加入时间
2年10月24天

确保线程安全下使用Queue的Enqueue和Dequeue

场景是这样,假设有一台设备会触发类型为Alarm的告警信号,并把信号添加到一个Queue结构中,每隔一段时间这个Queue会被遍历检查,其中的每个Alarm都会调用一个相应的处理方法。问题在于,检查机制是基于多线程的,有潜在的并发可能,当某个Alarm被添加的同时刚好又在遍历Queue,就会抛出异常说Queue发生改变。产生问题的代码如下:public class AlarmQueueMa...