目录
一、示例:
ThreadLocal称为线程本地变量,其为变量在每个线程中都创建了一个副本,每个线程都能访问和修改本线程中变量的副本。
应用示例:
ThreadLocal<SimpleDateFormat> t1=new ThreadLocal<>();
可以看出,为每个线程分配一个变量副本的工作并不是由ThreadLocal实现的,需要在应用层面实现,ThreadLocal只是提供一个容器。如果在应用上为每个线程分配了同一个对象实例,那ThreadLocal也无法保证线程安全。
二、ThreadLocal实现原理
ThreadLocal的内部实现,主要关注的就是set()和get()方法。