课程
/后端开发
/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 回答为啥大面积变小面积了,为啥这里就不会有很大的性能开销