进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个进程一般包括多个线程,这些线程共享本进程的内存和资源。
设计理念是为了减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。作用是提供线程内部的局部变量,这些变量在多线程环境下访问(get/set)时能保证与其它线程里的变量相对独立。打个比方,多人(多个线程)使用自己的交通卡(线程私有变量)乘公交转地铁(两个函数)。
注意:使用 ThreadLocal 时要保证能够管理它的创建、销毁,否则会出问题。因为 ThreadLocal 是和 Thread 绑定的,如果 Thread 是从 ThreadPool 中拿出来的,那么意味着 Thread 可能会被复用。如果被复用,你就一定得保证这个 Thread 上一次结束的时候,其关联的 ThreadLocal 被清空掉,否则就会串到下一次使用。