0
我有一個單例類,我需要存儲一些特定於每個線程的字段。我正在考慮將這些字段作爲ThreadLocal變量添加到單例中,還是使用同步Hashtable和鍵作爲線程ID。任何建議在哪個方面有較低的開銷?我早些時候看到了一個performance comparison,但那不是我所需要的。線程本地存儲與哈希表
我有一個單例類,我需要存儲一些特定於每個線程的字段。我正在考慮將這些字段作爲ThreadLocal變量添加到單例中,還是使用同步Hashtable和鍵作爲線程ID。任何建議在哪個方面有較低的開銷?我早些時候看到了一個performance comparison,但那不是我所需要的。線程本地存儲與哈希表
ThreadLocal
是實質上是一個HashMap
鍵入線程ID。你最好使用ThreadLocal
。
還有(我相信)使用ThreadLocals進行幕後的進一步優化。
該字段是線程特定的,但它們可能被其他線程訪問? IOW,你爲什麼需要將它們存儲在一個單獨的課程中? – didierc