ThreadLocal:public class ThreadLocal<T>
1)ThreadLocal并没有继承自Thread,也没有实现Runnable接口
2)ThreadLocal类为每一个线程都维护了自己独有的变量拷贝。每个线程都拥有了自己独立的一个变量。所以ThreadLocal重要作用并不在于多线程间的数据共享,而是数据的独立。所以:ThreadLocal保证各个线程间数据安全,每个线程的数据不会被另外线程访问和破坏
3)Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。
4)ThreadLocal中定义了一个哈希表用于为每个线程都提供一个变量的副本。