面试2
时间:2020-03-25 15:45:57
收藏:0
阅读:36
1. HashMap什么时候发生线程安全
当多线程的情况下,可能产生条件竞争。当重新调整HashMap大小的时候,确实存在条件竞争,如果两个线程都发现HashMap需要重新调整大小了,它们会同时试着调整大小。在调整大小的过程中,存储在链表中的元素的次序会反过来,因为移动到新的数组位置的时候,HashMap并不会将元素放在LinkedList的尾部,而是放在头部,这是为了避免尾部遍历(tail traversing)。如果条件竞争发生了,那么就死循环了
原文:https://www.cnblogs.com/yifanSJ/p/12566460.html
评论(0)