什么是ThreadLocal? 是什么?怎么用?何时用?如何不出问题?
线程是是CPU调度和分派的基本单位
进程(baiProcess)是系统进行资源分配和调度的基本单位。
进程是进行系统资源分配、调度和管理的最小单位。另外需要注意的是,现代操作系统中还引入了线程(Thread)概念,它是处理器分配的最小单位。
操作系统并不控制,进程中的线程。所以ThreadLocal不是操作系统控制的,而是语言本身给线程的。
线程的实体包括程序、数据和TCB。线程是动态概念,它的动态特性由线程控制块TCB(Thread Control Block)描述。TCB包括以下信息:
1、线程状态。
2、当线程不运行时,被保存的现场资源。
3、一组执行堆栈。
4、存放每个线程的局部变量主存区。
5、访问同一个进程中的主存和其它资源。
用于指示被执行指令序列的程序计数器、保留局部变量、少数状态参数和返回地址等的一组寄存器和堆栈。
一个进程(圆圈)包含多个线程,通过进程表进行管理,
每个线程有自己的独占空间,就是ThreadLocalMap,ThreadLocalMap中存储着一个一个的ThreadLocal