diff --git a/docs/java/multi-thread/2020最新Java并发基础常见面试题总结.md b/docs/java/multi-thread/2020最新Java并发基础常见面试题总结.md index d536dc0e..45a48544 100644 --- a/docs/java/multi-thread/2020最新Java并发基础常见面试题总结.md +++ b/docs/java/multi-thread/2020最新Java并发基础常见面试题总结.md @@ -155,15 +155,15 @@ Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种 ## 7. 什么是上下文切换? -线程在执行过程中会有自己的运行条件和状态(也称上下文),比如上文所说到过的程序计数器,栈信息等。当出现如下情况的时候,线程会从占用CPU状态中退出。 -- 主动让出CPU,比如调用了sleep(),wait()等。 +线程在执行过程中会有自己的运行条件和状态(也称上下文),比如上文所说到过的程序计数器,栈信息等。当出现如下情况的时候,线程会从占用 CPU 状态中退出。 +- 主动让出 CPU,比如调用了 `sleep()`, `wait()` 等。 - 时间片用完,因为操作系统要防止一个线程或者进程长时间占用CPU导致其他线程或者进程饿死。 -- 调用了阻塞类型的系统中断,比如请求IO,线程被阻塞。 +- 调用了阻塞类型的系统中断,比如请求 IO,线程被阻塞。 - 被终止或结束运行 -这其中前三种都会发生线程切换,线程切换意味着需要保存当前线程的上下文,留待线程下次占用CPU的时候恢复现场。并加载下一个将要占用CPU的线程上下文。这就是所谓的上下文切换。 +这其中前三种都会发生线程切换,线程切换意味着需要保存当前线程的上下文,留待线程下次占用 CPU 的时候恢复现场。并加载下一个将要占用 CPU 的线程上下文。这就是所谓的 **上下文切换**。 -上下文切换是现代操作系统的基本功能,因其每次需要保存信息恢复信息,这将会占用CPU,内存等系统资源进行处理,也就意味着效率会有一定损耗,如果频繁切换就会造成整体效率低下。 +上下文切换是现代操作系统的基本功能,因其每次需要保存信息恢复信息,这将会占用 CPU,内存等系统资源进行处理,也就意味着效率会有一定损耗,如果频繁切换就会造成整体效率低下。 ## 8. 什么是线程死锁?如何避免死锁?