进程_线程 之(一) --- 多任务

什么是多任务

多个任务同时运行在同一个操作系统上
现在操作系统几乎全部是多任务

多任务的原理

串行:多个任务依次执行,前面的任务不执行结束后面的任务就不能开启

并行:多个任务同时执行,一个cpu某个时刻只能执行一个任务,并行需要多机系统支持,每开启一个任务就把这个任务放在指定cpu上运行

并发:多个任务在同一个cpu上交替执行;例如:一个操作系统同时开启了微信、QQ、默默等,QQ执行1ns让出cpu、然后微信执行1ns、然后默默执行1ns、

   ....依次类推;由于切换时间特别短,在宏观上来看好像是这些程序在同时执行,其实这些程序交替执行;并发的原理同一个cpu给多个任务分时复用

   (以某个时间片为单位分配任务的执行周期)

多任务的技术实现

多进程  [什么是进程]
  如果一个程序执行起来,首先操作系统会为其创建一个进程(或者多个进程),此时进程就是程序执行的单位;一个进程包括一个进程id、机器源码、各种资源;

  • 执行流程:
  1.  进程执行起来以后,操作系统首先把程序的二进制机器源码放入内存的代码段,
  2.  然后系统给这个程序分配一个或者多个进程并且加上进程id,
  3.  然后根据机器源码中的说明给进程分配内存资源和I/O,
  4.  然后让进程和其他进程以并发的形式抢占处理机,一旦抢占到处理机资源就可以执行。

【说明】进程是操作系统分配资源的基本单位 

多线程

  现在很多程序在设计的时候一般采用多线程,因为进程在创建的时候需要不断分配内存和I/O等资源会造成系统的不必要的开销。

  1. 线程是进程中一个基本执行单位,如果设计程序的时候使用多线程来设计,一般一个进程包含一个主线程和若干个子线程;
  2. 操作系统创建完进程并且分配完资源以后就会首先给这个进程创建一个主线程,并且让主线程参与处理机的调度;
  3. 对于一些耗时任务(比如:I/O操作等)为了不使这些任务阻塞主线程,往往会开启一个子线程去执行这些任务。
  4. 子线程和主线程并发,从而可以提高系统的性能。不使用进程实现异步的原因是内存开销太大

协程

 

转载于:https://www.cnblogs.com/TMMM/p/10786045.html

Synopsys安装教程Ubuntu22.04版本 在Ubuntu22版本上安装Synopsys等系列工具,安装DC,VCS等等 阅读详情

相关推荐

Multisim 14.0 实战:手把手教你仿真一个9MHz高频小信号放大器(附完整电路文件)

本文详细介绍了如何使用Multisim 14.0仿真一个9MHz高频小信号谐振放大器,从环境准备、电路设计到仿真参数设置与调试,手把手教你掌握射频电路仿真的核心技巧。适合电子工程师和学生快速上手高频电路设计,附完整电路文件供参考。

weixin_30335575的博客 113

系统适合开启多少线程数量?

1.什么是上下文切换? 操作系统利用了时间片轮转的方式,CPU给每个任务都服务一定的时间,当前任务在执行完CPU时间片后,切换到另一个任务之前会保存自己的状态以便下次在切回这个任务时,可以在加载这个任务的状态。任务从保存到再加载的过程就是一次上下文切换。上下文切换意味着会消耗大量的CPU时间。 2.线程是如何执行的? 线程的执行是由CPU进行调度的,一个CPU在同一时刻只会执行一个线程 3.为什么要使用多线程? 3.1.从计算机底层来说 线程可以比作是轻量级的进程,是程序执行的最小单位,线程间的切换和调度的

歪桃的博客 1万+

STM32的bootloader程序(通过串口更新STM32应用程序)

STM32的bootloader程序(通过串口更新STM32应用程序),对bootloader进行浅浅的学习

星羽空间 1万+

线程、进程、多线程、多进程和多任务有啥关系?

点击上方“朱小厮的博客”,选择“设为星标” 后台回复"书",获取后台回复“k8s”,可领取k8s资料 可能学习操作系统开发的读者都听说过这些专业名词,但又多少人理解了?首先...

朱小厮的博客 1153

盘点那些好用的SAP FIORI App(二) -上传凭证Upload Journal Entry

SAP FICO运维问题及解决方案分享

lijinbao171022的博客 1542

ADS新手必看:ICCAP数据导入与导出CSV的完整流程(附常见问题解决)

本文为ADS新手详细讲解了如何将ICCAP测试数据导入ADS进行仿真分析,并导出为通用CSV格式的完整流程。内容涵盖文件格式解析、导入设置、数据验证、处理技巧及常见问题排查,重点解决了数据文件导入过程中的兼容性与单位映射等核心难点,帮助射频工程师高效连接测量与仿真环节。

peace的博客 558

线程知识点

线程知识点 1.线程概述 程序,进程,线程 **程序(program)**是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。(静态的代码) **进程(process)**就是正在执行的程序,从Windows角度讲,进程是含有内存和资源并安置线程的地方。(运行中的代码,加载到内存中执行) 线程(thread):进程可进一步细化为线程,是一个进程内部的最小执行单元。 举个例子: ​ 我们 在电脑上安装了微信、QQ等,那些安装文件指的是程序。 ​ 当我们双击运行微信,这款程序会被加载到内存中,

weixin_45866849的博客 477

细说VLAN之untag和tag

一、拓扑图 先给出上面拓扑图的结论,后面再详细讲解: 结论:只有PC1与PC4之间能相互通信,除此之外,所有PC之间均不能通信,比如PC1与PC3不能建立通信。 针对Ping命令的一个知识: 要想ping通某台主机,必须满足两个条件: 1,源主机的ICMP请求包必须能达到目的主机。 2,目的主机的ICMP应答包必须能回到源主机。 二、理论基础 端口的出...

NoobMaster的博客 3万+

线程池里有几个线程在运行

一、问题 假设有一个线程池,核心线程数为 10,最大线程数也为 20,任务队列为 100。现在来了 100 个任务,线程池里现在有几个线程运行?正确的答案是“不一定”!因为并没指明是哪一种线程池机制。 二、解答 1️⃣先进队列,到最大值,再起线程 这种最容易被想到,因为 JDK 中的线程池,也就是 ThreadPoolExecutor 就是这种机制的!ThreadPoolExecutor 的 execute(Runnable command) 如下: public void execute(Runnable

ChineseSoftware的博客 1553

别再浪费HDRI了!D5渲染器环境光设置避坑指南(附天空球调试参数)

本文深入解析D5渲染器中HDRI环境光的高阶调试技巧,揭示90%渲染师常犯的错误认知。通过参数联动黄金法则、特殊材质应对方案及动态场景优化策略,帮助用户精准控制光子能量分布,实现建筑玻璃反射云层过渡等专业级效果。附赠天空球调试参数和商业项目验证案例,助您彻底释放HDRI潜力。

weixin_29216049的博客 495

大数据工程中的多模态数据处理技术

模态”(Modality)指的是数据的表现形式文本(Text):新闻、评论、文案等;图像(Image):照片、截图、医学影像等;音频(Audio):语音、音乐、环境声音等;视频(Video):短视频、监控视频、电影等(本质是图像+音频的组合);数值/结构化数据(Numerical/Structured):用户年龄、商品价格、传感器数据等;时间序列(Time Series):股票价格、物流轨迹、心率数据等。多模态数据(Multimodal Data)是指包含两种或以上模态的数据集。

AI云原生与云计算技术学院 1273

多线程基础

多线程 线程使用的目的: 在程序中完成某一功能的时候吗,我们会将他描述成任务,这个任务需要在线程中完成 串行与并发: 如果在程序中,有多个任务需要被处理,此时的处理方式可以有串行和并发: 串行(同步):所有的任务,按照一定的顺序,依次执行,如果前面的任务没有执行结束,后面的任务等待 并发(异步):将多个任务同时执行,在一个时间段内,同时处理多个任务 生活中,其实有很多串行和并发的案例,最常见的就是排队买饭,小明到KFC吃饭,发现有好几个窗口可以点餐,选择了其中一个窗口进行排队,此时,KFC采用的模式就是串行

m0_56433040的博客 434

ROS2 多机器人导航仿真入门教程(一)

RMF 是建立在 ROS 2 基础上的一系列可重复使用、可扩展的库和工具,可实现任何类型机器人系统的异构机群的互操作性。RMF 利用标准化的通信协议与部署机器人的基础设施、环境和自动化系统进行通信,以优化关键资源(如机器人、电梯、门、通道等)的使用。它通过资源分配和通过 RMF 核心(将在本书后面详细介绍)防止共享资源冲突,从而为系统增加智能。RMF 灵活而强大,几乎可以在任何通信层上运行,并与任何数量的物联网设备集成。RMF 的架构设计允许随着环境自动化水平的提高而扩展。

2506_90492529的博客 1659

深入多线程系列一:理解多线程在于深深地理解了多任务、进程、多线程、线程

在计算机的世界中,你得看到更加广阔的视野,除了你可能了解的多线程,其实还有着多任务、进程、线程这些概念。 多任务 什么是多任务?,从字面意思理解就简单多了,多 字很好理解,不单一个,有两个或两个以上;而 任务 呢?这个也不难,每个进程都可以称作一个任务。 多任务是指用户在同一时间内运行多个进程。 举个生活中的小栗子 当你在上你最喜爱的编程课的时候,你的好兄弟 一颗剽悍的种子 叫你吃鸡,你想啊,难得好兄弟叫你一起开黑,当然是赶紧上号;所以你一边和好兄弟一起打游戏,一边还要看看眼前的老师在敲代码(其实是.

一颗剽悍的种子的博客 1334

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Linux多任务编程(一)---任务、进程、线程

Linux下多任务介绍   首先,先简单的介绍一下什么叫多任务系统?任务、进程、线程分别是什么?它们之间的区别是什么?,从而可以宏观的了解一下这三者,然后再针对每一个仔细的讲解。    什么叫多任务系统?多任务系统指可以同一时间内运行多个应用程序,每个应用程序被称作一个任务。    任务定义:任务是一个逻辑概念,指由一个软件完成的任务,或者是一系列共同达到某一目的的操作。    进程定义:...

王文松的博客 9796

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java基础(12):多线程(一):线程,进程,多任务等概念

(搞清楚线程,进程,多任务,程序概念能够帮助我们后续学习多线程) 多线程: 何为多线程:打个比方,当一个人在同一时间内,即一边看电视,一边吃零食(比如我) 线程,进程,多任务,程序概念: ...

qq_33583900的博客 270

多线程多进程

多进程模式最大的优点就是稳定性高,因为一个子进程崩溃了,不会影响主进程和其他子进程。(当然主进程挂了所有进程就全挂了,但是Master进程只负责分配任务,挂掉的概率低)著名的Apache最早就是采用多进程模式。 多进程模式的缺点是创建进程的代价大,在Unix/Linux系统下,用fork调用还行,在Windows下创建进程开销巨大。另外,操作系统能同时运行的进程数也是有限的,在内存和CPU的限制下,如果有几千个进程同时运行,操作系统连调度都会成问题。 多线程模式通常比多进程快一点,但是也快不到哪去,而且

如果没有最优解,那就找到可行解 875

【线程】线程(Thread)是什么?怎么理解线程?进程和线程的关系、进程和线程的区别。

线程(Thread)是什么?怎么理解线程?进程和线程的关系、进程和线程的区别。

weixin_52290314的博客 2386

【并发操作】协程,线程,进程是什么,在python中怎么应用?

生活中的多任务时时刻刻存在,例如小张一边码字一边看屏幕,又例如小蔡可以一边跳舞一边打篮球,这就是生活中的多任务。那么计算机中的多任务是什么呢、怎么使用呢?就让我们一起探讨计算机中,多任务-线程、多任务-进程、多任务-协程的理解以及在python中的应用。 多任务 多任务处理是指用户可以在同一时间内进行多种操作,每个操作被称作一个任务。在计算机中,同时打开迅雷以及QQ是多任务同时进行,在迅雷中看电影的时候,进行边下边播也是多任务,在同一时间同一单位进行的不同操作,都可以理解为多任务。 现在多..

weixin_42556618的博客 357

进程线程-自己的总结(先写一部分,随后再补充)

    个人揣测,刚开始,人们写完程序,要进行调试。调试的过程中,程序在人的思维中不是死的,而是运动着的。于是慢慢有了进程的概念。所谓进程,说白了就是正在运行中的程序相关的一些内涵外延等。程序要执行,一般要把可执行的代码加载进内存,然后跳到这段程序的起始地址运行。     起初阶段,可能只有一个进程被执行,之后随着多任务的发展需求,出现了多进程,于是有了进程调度,有了所谓的上下文切换。 先粘上牛哥这段话:   “最初的进程定义都包含程序、资源及其执行三部分,其中程序通常指代码,资源在操作系统层面上通常

梦想的蓝天草原--未来的时间自由人--哈哈哈哈 486

进程池线程池

进程池异步 算法 submit() 线程池异步 转载于:https://www.cnblogs.com/mofujin/p/10850867.html

weixin_30825199的博客 67

多任务-进程-线程--0515

多任务 进程 线程

jiameheng的博客 265
上一篇: 爬虫框架Scrapy 之(九) --- scrapy分布式原理
下一篇: 进程_线程 之(二) --- 进程线程
baoding4359
博客等级 码龄11年 2粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值