Bob*_*r02 5 java concurrency concurrenthashmap thread-local
关于ThreadLocal和之间的性能差异,我有一个非常简单的问题ConcurrentHashMap.在我的代码中的某些地方,我需要维护从a Thread到some 的映射Object,这必须是线程安全的.一种选择是使用ConcurrentHashMap,一种是使用ThreadLocal.这些方法的任何优点/缺点,主要是在速度方面?
这绝对是ThreadLocal的一个例子.ThreadLocal值存储在Thread对象中,而不是存储在并发映射中,因此绝对不涉及锁定,因此效率更高.另请注意,当线程终止时,通过ThreadLocal附加到线程的值会自动丢弃,这在ConcurrentHashMap中不会发生.但最后一点是:如果您有某些方式"重用"的线程,例如保存在池中的工作线程,则必须在将线程返回到池之前清除ThreadLocal的值.
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |