多任务与多线程
来源:互联网 发布:什么叫历史影视剧 知乎 编辑:程序博客网 时间:2024/06/05 18:02
前言
前段时间,我们部门组织了学习Linux系统的安装与命令学习
Linux系统是UNIX操作系统的克隆版,是Unix的开源实现,即是一个多使用者,多任务,多层次,多线程的操作系统。对于这个概念,有好多不理解的概念,首先就是多任务与多线程,那么到底什么是多任务与多线程呢?通过各种查阅,下面说一下我的简单理解。
多任务
多任务指的是一台电脑上可同时运行多个应用程序(也叫多个进程),是一种多个任务共享处理资源(如CPU)的方法。
只有在多操作系统上才能执行多任务操作,那什么才是多操作系统呢?在这里先不充一下单核和多核的区别。
单核与多核
单核就是CPU集成了一个运算核心,电脑的所有运行都是由这一个核来完成的,即同一时间只能完成一项任务。
多核就是CPU集成了多个运算核心,可以同一时间可以完成多个任务,将任务分配给不同的核同时进行,相对于单核来说,多核处理任务的时间就会更短。
单核是支持多任务操作系统的,但并不是真正的并发执行,就像我们不能吃饭和唱歌同时进行一样,但是我们可以在一小段时间内先吃饭在唱歌,再吃饭再唱歌,这样在一个固定的时间段内就实现了边吃饭边唱歌这件事情。单核处理的情况和这个类似,他通过多任务通过调度(Scheduling)哪一项任务在哪一时刻运行以及何时切换到另一项任务,从而实现了多任务操作。
多核也是支持多任务操作系统的,并且实现了真正的并发执行,针对不同的任务,多个计算引擎独立地工作.
多线程
多线程是将多任务的思想拓展到应用,因此,您可以将单个任务中的特定步骤进一步分解成一个个小任务,再将这些任务分配给不同的CPU内核(对于单核的CPU只要进行每个任务在短时间内的切换),每个任务可以并行运行,即多个线程并行的运行。举个例子,一个进程做整数1,2,3,。。N连续相加,可以用一个线程(一个cpu内核)做奇数的加法,另一个线程(另一个cpu内核)做偶数的加法,这样整个进程的速度会提高2倍。
以上只是经过百度后的简单个人理解,可能存在不准确的地方,有什么问题欢迎一起讨论。下面在附一张导图
- 多任务与多线程
- windows程序设计:多任务与多线程
- 多线程与异步任务
- C++多线程编程(4)多任务与多线程编程
- C++任务队列与多线程
- C++任务队列与多线程
- C++任务队列与多线程
- C++任务队列与多线程
- C++任务队列与多线程
- C++任务队列与多线程
- C++任务队列与多线程
- TaskUtil多线程与定时任务
- 多任务和多线程
- 多线程 执行 多任务
- 多任务处理:多线程
- 多线程多任务断点续传
- 多任务 VS 多线程
- 多线程实现多任务
- 从源码梳理Retrofit网络请求过程
- LeetCode算法题——Burst Balloons
- 来自电商师妹的一道Java小题
- Python+Pycharm使用opencv
- Linux云服务器初学之一 ——熟悉linux的yum工具
- 多任务与多线程
- Linux-007 CentOS7安装图形界面并设置默认启动方式
- 【算法设计作业】week13
- 【洛谷P1000 超级玛丽游戏-100分】
- spring文件上传
- Xamarin入门 PhoneWord程序
- EasyDemo*获取当前日期&求两个日期相隔天数
- mysql第一次没法登陆的问题
- kubernetes调度之NodeSelector