多任务与多线程

##前言
Linux系统是UNIX操作系统的克隆版,是Unix的开源实现,即是一个多使用者,多任务,多层次,多线程的操作系统。对于这个概念,有好多不理解的概念,首先就是多任务与多线程,那么到底什么是多任务与多线程呢?通过各种查阅,下面说一下我的简单理解。

##多任务
多任务指的是一台电脑上可同时运行多个应用程序(也叫多个进程),是一种多个任务共享处理资源(如CPU)的方法。

只有在多操作系统上才能执行多任务操作,那什么才是多操作系统呢?在这里先不充一下单核和多核的区别。

###单核与多核
单核就是CPU集成了一个运算核心,电脑的所有运行都是由这一个核来完成的,即同一时间只能完成一项任务。
多核就是CPU集成了多个运算核心,可以同一时间可以完成多个任务,将任务分配给不同的核同时进行,相对于单核来说,多核处理任务的时间就会更短。

单核是支持多任务操作系统的,但并不是真正的并发执行,就像我们不能吃饭和唱歌同时进行一样,但是我们可以在一小段时间内先吃饭在唱歌,再吃饭再唱歌,这样在一个固定的时间段内就实现了边吃饭边唱歌这件事情。单核处理的情况和这个类似,他通过多任务通过调度(Scheduling)哪一项任务在哪一时刻运行以及何时切换到另一项任务,从而实现了多任务操作。
多核也是支持多任务操作系统的,并且实现了真正的并发执行,针对不同的任务,多个计算引擎独立地工作.

##多线程
多线程是将多任务的思想拓展到应用,因此,您可以将单个任务中的特定步骤进一步分解成一个个小任务,再将这些任务分配给不同的CPU内核(对于单核的CPU只要进行每个任务在短时间内的切换),每个任务可以并行运行,即多个线程并行的运行。举个例子,一个进程做整数1,2,3,。。N连续相加,可以用一个线程(一个cpu内核)做奇数的加法,另一个线程(另一个cpu内核)做偶数的加法,这样整个进程的速度会提高2倍。

以上只是经过百度后的简单个人理解,可能存在不准确的地方,有什么问题欢迎一起讨论。下面在附一张导图

这里写图片描述

  • 3
    点赞
  • 27
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值