学习笔记(32):Java并发编程精讲-ThreadLocal的定义和使用场景

立即学习:https://edu.csdn.net/course/play/26270/326865?utm_source=blogtoedu

1.了解ThreadLocal定义和用途

学习笔记(32):Java并发编程精讲-ThreadLocal的定义和使用场景

2.ThreadLocal使用示例 

不使用ThreadLocal时,需在整个上下文调用的方法中将关键参数透传

学习笔记(32):Java并发编程精讲-ThreadLocal的定义和使用场景

学习笔记(32):Java并发编程精讲-ThreadLocal的定义和使用场景

存在的问题
1,从代码整洁度上看,每个方法要加这个参数,如果内部方法调用链路较长,那么方法入参看起来会很臃肿
2,如果某处诱传时将参数值改掉或者设置为null,后续调用方法中用到这个参数的代码会受到影响

 

使用ThreadLocal改进:

学习笔记(32):Java并发编程精讲-ThreadLocal的定义和使用场景

学习笔记(32):Java并发编程精讲-ThreadLocal的定义和使用场景