課程
/后端開發
/Java
/ThreadLocal
這里v.set(v.get() + 1)后,ThreadLocal變量count并沒有設置值呀,為什么會增長呢,不應該加上一句count.set(v)嗎?
2021-09-23
源自:ThreadLocal 2-5
正在回答
因為Val是引用傳遞,不是值傳遞(所以老師才把原來的Integer改成Val<Integer>)。
舉報
設計者視角源碼級ThreadLocal分析教你建立線程安全感-你專屬的技術優越感
2 回答將v值設置為0,又放到set中去,那么set中的值不都是0?
1 回答有點疑惑,那個Val唄初試成0了, 為什么set還可以add值呢
2 回答為什么threadLocalMap要設計為Static的雙層map,如果設計為非靜態的單層map有什么問題?
1 回答您說hashMap是static 的 用MythreadLocal作為Key,會導致內存無法回收
4 回答為啥大面積變小面積了,為啥這里就不會有很大的性能開銷
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2022-03-18
因為Val是引用傳遞,不是值傳遞(所以老師才把原來的Integer改成Val<Integer>)。