ThreadLocal
ThreadLocal是Java中一种特殊的变量
它是一个线程级别的变量,每个线程都有一个ThreadLocal,就是每个线程都有一个属于自己的独立的变量,所以不存在竞争条件,在并发模式下是绝对安全的。
用法:
ThreadLocal threadLocal = new ThreadLocal();
他会在每个线程上创建一个T的副本,副本之间相互独立,互不影响。
可以使用它来传参,一边线程中多个方法的使用,代替方法传参的用法。
难理解的话可以理解成,在JVM里维护着一个Map<Thread,ThreadLocal>,所以每个线程对应的都是一个不同的ThreadLocal对象。