擴容時使用transfertransfer不一樣於put時的判斷hash衝突,直接使用頭插法,若是沒有衝突,則next爲null。以下:e.next = newTable[i];newTable[i] = e;若是線程B設置了newTable[i] = e,線程A執行e.next = newTable[i];則會形成e.next = e;不管是否有鏈表,都會形成死循環。線程