【嵌入式学习3】多任务编程

目录

1、多任务

并发:在一段时间内交替去执行任务

并行:

2、线程

进程与线程

守护线程


1、多任务

同一时间内 执行多个任务, 多任务分为并发和并行两种形式

并发:在一段时间内交替去执行任务

软件1执行0.01秒,切换到软件2,软件2执行0.01秒,再切换到软件3,执行0.01秒......这样反复执行下去。表面上看,每个软件都是交替执行的,实际上是由于CPU的执行速度块,就像这些软件都在同时执行一样,这里需要注意单核cpu是并发的执行多任务的。

并行:

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

2、线程

多任务开发,有多种实现方式,从资源占用大小排序:进程 > 线程 > 协程

进程与线程
  • 进程是分配资源的基本单位, 一旦创建一个进程就会分配一定的资源,
  • 线程是cpu调度的基本单位,每个进程至少都有一个线程,而这个线程就是我们通常说的主线程。
守护线程

守护线程是一种在后台运行的线程,它不会阻止程序的退出。当程序中所有的非守护线程(用户线程)都结束运行后,程序会自动退出,而不会等待守护线程完成。守护线程通常用于为程序提供服务,比如清理资源、监控程序状态等。

相关推荐
虾球xz几秒前
游戏引擎学习第196天
c++·学习·游戏引擎
geek_super5 分钟前
JVM学习--JVM运行时参数
jvm·学习
安分小尧8 分钟前
从树形数据中找路径:解密 getLevelIdAll 的递归魔法
开发语言·前端·javascript
啊阿狸不会拉杆11 分钟前
第十九章:Python-pyttsx3 库实现文本转语音功能
开发语言·python·语音·pyttsx
电子艾号哲12 分钟前
51单片机总结
单片机·嵌入式硬件·51单片机
馨谙14 分钟前
里氏替换原则
java·开发语言·里氏替换原则
独好紫罗兰15 分钟前
洛谷题单1-P1001 A+B Problem-python-流程图重构
开发语言·python·算法
你曾经是少年16 分钟前
MyBatis-Plus 从入门到精通教学文档
java·开发语言·tomcat
wjs202419 分钟前
R CSV 文件处理指南
开发语言
·醉挽清风·30 分钟前
学习笔记—数据结构—二叉树(链式)
c语言·数据结构·c++·笔记·学习·算法