多线程下1.7扩容死循环
2020-07-24 11:56:42 5 举报
1.7HashMap多线程下扩容生成环形链表的过程!
作者其他创作
大纲/内容
B线程
7entry中的属性
key=7value=Y;hash=hash(key)
next=newTable[7]=3
e
3
key=3value=X;hash=hash(key)
next=newTab[i]=null
[Condition]
Opt | Alt | Loop
next
B线程私有 新表 newTableB长度8
旧table长度4
下标7
key值=3
疑问来了,环形链表有了,在非get方法下,如何形成的死循环??
table长度4
下标3
null
节点
1.7HashMap扩容死循环结果图
next=newTable[7]=7
A线程私有 新表 newTableA长度8
类
+ attribute1:type = defaultValue+ attribute2:type- attribute3:type
+ operation1(params):returnType- operation2(params)- operation3()
1.7HashMap扩容死循环某线程对比图
A线程
0 条评论
下一页