多任务编程的相关概念

简介: 多任务编程的相关概念

1. 多任务的概念

多任务是指在同一时间内执行多个任务,例如: 现在电脑安装的操作系统都是多任务操作系统,可以同时运行着多个软件。

多任务效果图:

2. 多任务的执行方式

  • 并发
  • 并行

并发:

在一段时间内交替去执行任务。

例如:

对于单核cpu处理多任务,操作系统轮流让各个软件交替执行,假如:软件1执行0.01秒,切换到软件2,软件2执行0.01秒,再切换到软件3,执行0.01秒……这样反复执行下去。表面上看,每个软件都是交替执行的,但是,由于CPU的执行速度实在是太快了,我们感觉就像这些软件都在同时执行一样,这里需要注意单核cpu是并发的执行多任务的。

这个在计算机操作系统里面讲过一个分时操作系统,用的就是这个原理,如果不太理解建议看看计算机操作系统那本书。

并行:

对于多核cpu处理多任务,操作系统会给cpu的每个内核安排一个执行的软件,多个内核是真正的一起执行软件。这里需要注意多核cpu是并行的执行多任务,始终有多个软件一起执行。

现在的主流操作系统都是这样的,例如咱们最常用的windows操作系统。

3. 进程的概念

一个正在运行的程序或者软件就是一个进程,它是操作系统进行资源分配的基本单位,也就是说每启动一个进程,操作系统都会给其分配一定的运行资源(内存资源)保证进程的运行。

比如:现实生活中的公司可以理解成是一个进程,公司提供办公资源(电脑、办公桌椅等),真正干活的是员工,员工可以理解成线程。

注意:

一个程序运行后至少有一个进程,一个进程默认有一个线程,进程里面可以创建多个线程,线程是依附在进程里面的,没有进程就没有线程。

3. 进程的作用

单进程效果图:

 

多进程效果图:

 

说明:

多进程可以完成多任务,每个进程就好比一家独立的公司,每个公司都各自在运营,每个进程也各自在运行,执行各自的任务。

 

4. 线程的概念

线程是进程中执行代码的一个分支,每个执行分支(线程)要想工作执行代码需要cpu进行调度 ,也就是说线程是cpu调度的基本单位,每个进程至少都有一个线程,而这个线程就是我们通常说的主线程。

5. 线程的作用

多线程可以完成多任务

多线程效果图:

4. 总结

  • 系统分配资源的最小单位是进程
  • 一个进程可以有多个线程
目录
相关文章
|
存储 分布式计算 Hadoop
大数据之hadoop3入门到精通(一)
大数据之hadoop3入门到精通(一)
942 1
|
缓存
Autojs4.1.0实战教程---快手极速版清理缓存
Autojs4.1.0实战教程---快手极速版清理缓存
910 1
|
Shell Windows
Webstorm安装激活破解2022.09最新破解教程「永久激活,亲测有效」
Webstorm安装激活破解2022.09最新破解教程「永久激活,亲测有效」
10291 0
Webstorm安装激活破解2022.09最新破解教程「永久激活,亲测有效」
|
移动开发 JavaScript Java
H5与App使用WebViewJavascriptBridge进行交互
H5与App使用WebViewJavascriptBridge进行交互
1478 0
|
人工智能 并行计算 搜索推荐
SPAR3D:一张图片就能生成3D模型,每个物体的重建时间仅需0.7秒!
SPAR3D 是由 Stability AI 和伊利诺伊大学香槟分校推出的先进单图生成3D模型方法,支持快速推理与用户交互式编辑,适用于多种3D建模场景。
2415 30
SPAR3D:一张图片就能生成3D模型,每个物体的重建时间仅需0.7秒!
|
7月前
|
安全 前端开发 数据可视化
如何选择适合你的建站系统
这是一篇关于如何选择建站系统的指南。文章从明确需求、评估技术预算入手,介绍了易用性、灵活性等核心对比维度,并简要分析了全托管平台、自助建站系统及手工编码等主流方式的适用场景。
226 1
|
人工智能 JavaScript 前端开发
分享开源库:AI驱动的JavaScript反编译,针对混淆和压缩的代码
这是一个智能JavaScript反混淆与代码分析工具,通过AST转换和AI深度分析,自动还原变量名、识别依赖库、生成可视化控制流图,并支持多格式导出,提升代码理解与审计效率。访问 [jsunpack.tech](https://www.jsunpack.tech/) 即可在线体验。
2877 0
|
人工智能 自然语言处理 机器人
大厂RAG面试题:24个RAG八股文。偷偷背下来,毒打面试官 !
大厂RAG面试题:24个RAG八股文。偷偷背下来,毒打面试官 !
大厂RAG面试题:24个RAG八股文。偷偷背下来,毒打面试官 !
|
Java 数据库连接 API
2025 更新必看:Java 编程基础入门级超级完整版指南
本教程为2025更新版Java编程基础入门指南,涵盖开发环境搭建(SDKMAN!管理JDK、VS Code配置)、Java 17+新特性(文本块、Switch表达式增强、Record类)、面向对象编程(接口默认方法、抽象类与模板方法)、集合框架深度应用(Stream API高级操作、并发集合)、模式匹配与密封类等。还包括学生成绩管理系统实战项目,涉及Maven构建、Lombok简化代码、JDBC数据库操作及JavaFX界面开发。同时提供JUnit测试、日志框架使用技巧及进阶学习资源推荐,助你掌握Java核心技术并迈向高级开发。
1106 5
|
人工智能 自动驾驶 物联网
《无线网络架构与人工智能实时性:深度融合与未来展望》
在数字时代,人工智能(AI)已渗透到安防、家居、医疗、金融等多领域,其影响力无处不在。无线网络架构作为数据传输的关键支撑,与AI的实时性需求紧密相连,二者融合推动技术迈向新高度。Wi-Fi、蜂窝网络(4G/5G)、Mesh网络各具特点,分别通过提升速率、降低延迟和增强健壮性,确保AI应用高效稳定运行。未来,6G和量子通信将进一步优化无线网络,满足AI的实时性需求,开启智能新时代。
478 7