之漫谈使用ThreadLocal改进你的层次的划分
早在JDK 1.2
的版本中就提供
java.lang.ThreadLocal
,ThreadLocal
为解决多线程程序的并发问题提供了一种新的思路。使用
那个工具类能够专门简洁地编写出优美的多线程程序。
ThreadLocal
专门容易让人望文生义,想
因此地认为是一个
〝本地线程
〞。事实上,ThreadLocal
并不是一个
Thread
,而是Thread
的局部变量,也许把它命名为
ThreadLocalVariable
更容易让人
明白得一些。当使用ThreadLocal
爱护变量时,
ThreadLocal
为每个使用该变量的线程提供独立的变量副本,
因此每一个线程都
能够独立地改变自己的副本,而
可不能阻碍其它线程所对应的副本。
从线程的角度看,目标变量就象是线程的本地变量,这也是类名中
〝Local
〞所要表达的意思。
线程局部变量并不是
Java
的新发明,
专门多语言〔如IBM IBM XL FORTRAN
〕在语法层面就提供线程局部变量。在
Java
中没有提供在语言级支持,而是变相地通过
ThreadLoc ...


雷达卡


京公网安备 11010802022788号







