- 博客(2)
- 收藏
- 关注
原创 聊聊InheritableThreadLocal实现变量值传递的原理
inheritableThreadLocal父线程值传递的时候是直接把变量赋值给子线程的,如果值是引用类型,那么子线程的修改会导致父线程的值也发生变更的;如果是普通类型的变量,则可以认为数据是相互隔离的。原理:线程在创建的时候会执行init(),将父线程的inheritableThreadLocal拷贝过来,进而实现变量值传递的目的。的变量值传递,对于线程池,就没法传递了(因为线程池中存在线程复用的情况,并不会随着调用一直创建)因为子线程的修改,父线程的ThreadLocal值已发生变更。
2025-03-04 21:50:10
270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人