多任务操作系统是一种操作系统,可让您感知同时运行的 2 个或更多任务/作业/进程。它通过在这些任务/作业/进程之间划分系统资源并在它们一遍又一遍地执行时在任务/作业/进程之间切换来做到这一点。 通常,CPU 一次只处理一个任务,但切换速度非常快,看起来 CPU 正在同时执行多个进程。 它们可以支持抢占式多任务处理,其中操作系统将时间分配给应用程序(几乎所有现代操作系统),或者支持协作多任务处理,其中操作系统等待程序交还控制权(Windows 3.x、Mac OS 9 和更早版本), 导致挂起和崩溃。 多任务处理也称为分时,是多道程序的逻辑扩展。

多任务编程有两种类型:

  • 基于进程的多任务处理
  • 基于线程的多任务处理
序号 基于流程的多任务处理 基于线程的多任务处理
1 在基于进程的多任务中,可以同时运行两个或多个进程和程序。 在基于线程的多任务处理中,可以同时运行两个或多个线程。
2 在基于进程的多任务中,进程或程序是最小的单位。 在基于线程的多任务处理中,线程是最小的单元。
3 程序是一个更大的单元。 线程是一个较小的单元。
4 基于进程的多任务处理需要更多的开销。 基于线程的多任务处理需要较少的开销。
5 进程需要自己的地址空间。 线程共享相同的地址空间。
6 进程到进程通信是昂贵的。 线程到线程通信并不昂贵。
7 在这里,它无法在 CPU 的空闲时间内获得访问权限。 允许在 CPU 占用的空闲时间内获取访问权限。
8 比较重量级。 它比较轻巧。
9 具有更快的数据速率多任务处理。 具有更快的数据速率多任务处理。
10 示例:一边听音乐一边上网,进程是音乐播放器和浏览器。 示例: 使用浏览器,可以浏览网页并同时下载文件。导航是一个线程,下载是另一个线程。同样在像 MS Word 这样的文字处理应用程序中,在一个线程中键入文本,而拼写检查器会在另一个线程中检查错误。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:基于进程和基于线程的多任务处理的区别
本文链接:https://www.vsdiffer.com/vs/process-based-vs-thread-based-multitasking.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。