【线程与进程】
进程是调度操作系统的最小的单元。
线程是调度CPU的最小单元,也叫轻量级进程,在一个进程里可以创建多个线程。每个线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。
KLT & ULT
内核级线程 & 用户级线程
JVM 使用的是哪种线程模型:内核级线程 :KLT
线程上下文切换: 用户态-》内核态
【线程池】:
线程是一种稀缺资源,他的创建与销毁是一个相对偏重且消耗资源的操作。而Java线程依赖于内核线程,其线程的创建需要进行操作系统状态切换,为避免资源过度消耗需要设法重用线程执行多个任务,线程池就是一个线程缓存,负责对线程进行统一分配,调优与监控。
啥时候使用线程池
单个任务处理时间比较短
需要处理的任务数量很大
线程池的优势:
重用存在的线程,减少线程创建,消亡的开销,提高性能(40)。