关键区别–多线程与多任务
多线程和多任务看起来很相似,但它们是两个不同的概念。计算机同时执行许多任务。多线程和多任务都与计算机性能有关。多线程处理和多任务处理的关键区别在于,在多线程处理中,多个线程同时在一个进程中执行,而在多任务处理中,多个进程同时运行。本文讨论了多线程和多任务的区别。
目录
1. 概述和主要区别
2. 什么是多线程
3. 什么是多任务处理
4. 多线程与多任务的相似性
5. 并行比较-多线程与多任务的表格形式
6. 摘要
什么是多线程(multithreading)?
计算机系统同时执行许多任务。任务可以称为过程。它是一个正在执行的程序。为每个任务创建流程是无效的。它可以消耗很多资源。为了避免这种情况,一个进程可以分为多个子流程,并且可以使用这些子流程执行任务。一个子过程是过程的一个单元。这个单元被称为线程。在多线程中,一个进程被分成多个线程,这些线程同时执行并行。
有两种类型的线程应用程序命名为,单线程应用程序和多线程应用程序。当一个进程中有一个线程时,称为单线程,当多个线程在进程中运行时,称为多线程应用程序。多线程处理对于同时运行多个任务非常有用。下面的示例显示了一个多线程进程。T1、T2、T3为螺纹。
线程也可以分为两种类型。它们是用户线程和内核线程。内核不支持用户线程。内核线程由内核支持和管理。有三种多线程模型。有多对一模型、一对一模型和多对多模型。下面的图表说明了线程模型。“U”表示用户线程,“K”表示内核线程。
多对一模式
在多对一模型中,多个用户线程被映射到单个内核线程中。
一对一模式
在一对一模型中,每个用户线程都映射到一个单独的内核线程。
多对多模型
在许多模型中,将多个用户级线程多路复用为更小或相等数量的内核线程。
多线程处理有几个优点。线程在进程间通信中很有用。它们还能提高反应能力。不需要将资源分别分配给每个线程,因此使用线程是经济的。如果一个线程失败,这不会影响整个进程。与进程相比,线程重量轻,消耗的资源最少。
什么是多任务处理(multitasking)?
计算机可以同时执行不同的任务。例如,浏览器、Word应用程序、PowerPoint应用程序、计算器应用程序都可以同时运行。因此,计算机同时执行多个任务或多个进程。这被称为多任务处理。即使计算机可以同时执行多个任务,但一次可以执行的任务数是特定的。
运行多个进程可能会降低计算速度,因为它需要更多的资源。多任务处理可以提高生产率,因为多个程序同时运行。用户也很容易立即注意到更新。
什么是多线程与多任务的相似性(the similarity between multithreading and multitasking)?
- 这两种方法都会影响系统性能。
多线程(multithreading)和多任务处理(multitasking)的区别
多线程与多任务 | |
多线程处理是在一个进程中同时执行多个线程。 | 多任务处理是在一台计算机上同时运行多个进程。 |
执行 | |
在多线程处理中,CPU在同一进程中的多个线程之间切换。 | 在多任务处理中,CPU在多个进程之间切换以完成执行。 |
资源共享 | |
在多线程处理中,资源在一个进程中的多个线程之间共享。 | 在多任务处理中,资源在多个进程之间共享。 |
复杂性 | |
多线程技术重量轻,易于创建。 | 多任务处理是一项繁重的任务,更难创造。 |
总结 - 多线程(multithreading) vs. 多任务处理(multitasking)
多线程和多进程同时执行线程和进程。多线程与多任务的区别在于,在多线程中,一个进程中的多个线程同时执行,而在多任务中,多个进程同时运行。尽管这些术语看起来很相似,但它们是不同的概念。然而,这两个概念都是计算机科学中的主要概念。
下载多线程vs multitasking的pdf版本
你可以下载这篇文章的PDF版本,并按照引文说明离线使用。请在这里下载PDF版本多线程和多任务的区别
引用
1.“什么是多任务处理?“计算机希望,2017年10月30日。这里有2点,教程。“操作系统–多线程。”,教程点,2017年8月15日。此处提供
2.要点,教程。“操作系统–多线程。”,