課程
/后端開發(fā)
/Java
/ThreadLocal
………………
2020-02-04
源自:ThreadLocal 2-5
正在回答
每個線程初始值都是0,之后每個線程獨立計算,每個線程都是一個新得Val對象,從0開始計算,然后把計算得結(jié)果保存到自己得ThreadLocal中,互相不影響,之后從set中取出
initialValue起初始化作用只運行一次,每個Thread對應(yīng)的Val對象的初始值確實都設(shè)為了0,沒問題
舉報
設(shè)計者視角源碼級ThreadLocal分析教你建立線程安全感-你專屬的技術(shù)優(yōu)越感
1 回答有點疑惑,那個Val唄初試成0了, 為什么set還可以add值呢
1 回答如果重寫Val的hashcode和equals是否會造成Set中Val覆蓋?
1 回答add方法里count每次增長的值并沒有設(shè)置回去,但實際count的值增長了
4 回答為什么set.add(v)是臨界區(qū)
1 回答我用lombok的@Data注解代替手寫的get/set時最終結(jié)果不正確
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2020-02-04
每個線程初始值都是0,之后每個線程獨立計算,每個線程都是一個新得Val對象,從0開始計算,然后把計算得結(jié)果保存到自己得ThreadLocal中,互相不影響,之后從set中取出
2020-02-04
initialValue起初始化作用只運行一次,每個Thread對應(yīng)的Val對象的初始值確實都設(shè)為了0,沒問題