最新回答 / 實時編程
HashMap。本身就不是線程安全的,所以 你這個寫法 我暫時不確定 是不是能正確的運行?但是既然不是線程安全的? 所以 我覺得 不可以這樣寫如果你加個鎖 確實可以 變成安全的 操作但是就會 變成多線程 競爭鎖? ?非常消耗性能雖然實現(xiàn)了 類似功能 但是性能 太低?所以JDK 不會這樣設(shè)計
2020-05-07
最贊回答 / qq_Forever淺唱此生_0
小數(shù)值取數(shù)組是java做的緩存和引用沒關(guān)系,實際沒法用Integer做引用是因為Integer的值是final的,和String一樣,創(chuàng)建后沒辦法改變自身的值,計算后返回的都是一個新的Integer/String
2020-03-24
最新回答 / TimAndy
golang 雖然不是線程模型, 但是有協(xié)程. 可以把協(xié)程理解成其他語言的輕量級線程.ThreadLocal for golang 無內(nèi)存泄露, 無競爭,高性能, 不修改golang源碼.支持 go1.18 泛型, 支持 386, amd64, arm, arm64 平臺.支持 go1.13-1.18 版本, 在 linux,windows,mac 上均測試通過.項目地址 https://github.com/timandy/routine
2020-03-15
最新回答 / 慕碼人118462
檢查引入的包是不是正確。檢查有沒有在idea中添加插件idea中需要設(shè)置開啟自動開啟注解另外,你的curl read 數(shù)據(jù)不正確 可能多線程并非造成的,不一定跟@Data注解有關(guān)系
2020-03-03
最贊回答 / qq_Forever淺唱此生_0
這個HashSet和HashMap的多線程調(diào)用時是一樣的風(fēng)險,在擴容時有可能導(dǎo)致死循環(huán),所以要用同步的容器或者同步代碼塊去調(diào)用“添加”的方法
2020-02-14
講師回答 / 求老仙
秋田君說的也很不錯, 我這里補充下, Map<Thread, T>這種結(jié)構(gòu),hash表沖突會很嚴(yán)重,舉個例子。map.put(thread1, 100);map.put(thread1, 200);map.put(thread1, 300);你發(fā)現(xiàn)沒有,一個map put了三個值,那取值的時候, 怎么辦呢?
2020-02-10
最新回答 / qq_慕雪7502798
“用兩層HashMap是由于一個線程中可能會擁有多個ThreadLocal成員變量,所以內(nèi)層HashMap是為了保存同一個線程中的不同ThreadLocal變量?!闭f法不對吧? 如果一個線程中有兩個ThreadLocal成員變量,那么按照你說的,他們的key是當(dāng)前線程ThreadLocal值,那不是key沖突了?
2020-01-31