ConcurrentHashMap插入与遍历时出现混乱

ConcurrentHashMap是一个线程安全的Map,但是如果频繁的修改和遍历ConcurrentHashMap时就会出问题了,比如在遍历数据时已经遍历到Map的后某个位置了,此时在这个位置之前再put进去一个数据,这时将导致这个put进去的数据无法被遍历到了。

如下图,遍历map每秒一次,线程在第6秒时将666字符串put到map中,而第6秒时遍历数组已经在打印777777了,所以最终结果并没有打印出666

ConcurrentHashMap插入与遍历时出现混乱


以下是运行结果

ConcurrentHashMap插入与遍历时出现混乱