基于进程和基于线程的多任务处理的区别

基于进程和基于线程的多任务处理的区别

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

多任务编程有两种类型:

  • 基于进程的多任务处理
  • 基于线程的多任务处理
序号 基于流程的多任务处理 基于线程的多任务处理
1 在基于进程的多任务中,可以同时运行两个或多个进程和程序。 在基于线程的多任务处理中,可以同时运行两个或多个线程。
2 在基于进程的多任务中,进程或程序是最小的单位。 在基于线程的多任务处理中,线程是最小的单元。
3 程序是一个更大的单元。 线程是一个较小的单元。
4 基于进程的多任务处理需要更多的开销。 基于线程的多任务处理需要较少的开销。
5 进程需要自己的地址空间。 线程共享相同的地址空间。
6 进程到进程通信是昂贵的。 线程到线程通信并不昂贵。
7 在这里,它无法在 CPU 的空闲时间内获得访问权限。 允许在 CPU 占用的空闲时间内获取访问权限。
8 比较重量级。 它比较轻巧。
9 具有更快的数据速率多任务处理。 具有更快的数据速率多任务处理。
10 示例: 一边听音乐一边上网,进程是音乐播放器和浏览器。 示例: 使用浏览器,可以浏览网页并同时下载文件。导航是一个线程,下载是另一个线程。同样在像 MS Word 这样的文字处理应用程序中,在一个线程中键入文本,而拼写检查器会在另一个线程中检查错误

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程