当一个监听器完成处理后,它会要求将其从map中的listenerlist中删除。因为侦听器在迭代器中,所以将其从原始列表中删除将导致获取下一个侦听器的iterator.previous()中出现java.util.ConcurrentModificationException。问题是,如果使用CopyOnWriteArrayList复制侦听器列表,然后在其上使用迭代器,因为它是列表的副本,当侦听器从其他线程中删除时,它仍然会抛出异常吗?);
/* instead of directly iterator on the l