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

目录

1、多任务

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

并行:

2、线程

进程与线程

守护线程


1、多任务

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

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

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

并行:

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

2、线程

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

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

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

相关推荐
RainCity1 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
LinXunFeng8 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
LDR00613 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术13 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
通信小呆呆13 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
码云数智-园园13 天前
C++20 Modules 模块详解
java·开发语言·spring
H__Rick13 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee13 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
swordbob13 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享13 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm