进程是否存在上下文切换?

看到《深入理解并发编程:核心原理和实践》p18,上面写了一段话

线程是CPU调度的最小单元
进程上下文的切换要比线程上下文切换慢很多

这个我就不理解了,既然cpu的调度以线程为单位,那么进程不应该存在上下文切换,因为时间片调度就不存在进程。

有没有朋友能解释下,进程是否存在上下文切换?上下文切换的目的是什么?

阅读 760
1 个回答

Java 程序在 JVM 中运行,不直接触发上下文切换。但是,底层的 JVM 实现和 Java 程序执行的操作(例如,与文件系统、网络等的交互)可能会导致操作系统层面的上下文切换。
JVM 会通过本地接口(Native Interface,JNI)调用本地代码。本地代码通常是 C 或 C++ 编写,这些本地代码可能与操作系统进行交互,从而可能导致上下文切换。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题