本文目录
对 MESI 缓存一致性协议,有了初步的了解后,本文来介绍偏内容性的一个话题:
线程
。 Java 开发者对多线程一定不会陌生,那么线程到底是啥?Java 又是如何利用多线程来调度/使用 CPU 来完成操作的呢。
1.什么是线程
线程
(英语:thread)是操作系统调度CPU
的最小单位
。它被包含在进程之中,是进程中的实际运作单位,进程是系统分配资源的基本单位
。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务
。[BaiDu:线程]
每个线程都有一个程序计数器
(记录要执行的下一条指令),一组寄存器
(保存当前线程的工作变量),堆栈
(记录执行历史,其中每一帧保存了一个已经调用但未返回的过程)
JVM 本身是没有调度 CPU 的能力。JVM 需要安装在操作系统上,JVM 中的 Thread 线程是依附于操作系统的
(Java的线程在JDK1.2版本之前,是由用户自己去创建、维护、调度线程的;1.2版本后,JVM 线程依赖于底层的操作系统)