并发,并行,串行,同步,异步,进程,进程池,线程,线程池

news2025/2/24 0:15:25

并发,并行,串行,同步,异步,进程,进程池,线程,线程池

进程

什么是进程:

  • 开发写的代码称之为程序,将程序运行起来,就是进程

进程是申请一块内存空间,将数据放在内存空间中去,是申请数据的过程中最小的管理单元。

  • 进程是线程的容器

程序与进程的区别

  • 程序是数据与指令的集合,是一个静态的概念,也就是一堆代码,是长期可以保存在系统中
  • 进程是程序运行的过程,是一个动态的概念,进程存在着生命周期(进程会随着程序的终止而销毁)不会永久保存在系统中

进程之间交互

  • 进程之间通过TCP/IP端口实现

线程

什么是线程

  • 线程是操作系统能够进行运算调度的最小单位
  • 它被包含在进程之中,是进程中的实际运作单位
  • 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程可以并行执行不同的任务

线程是进程的流水线,只用来执行程序,而不涉及到申请资源,是线程的实际执行者,最小的执行单元

线程之间的交互

  • 多个线程共享同一块内存,通过共享的内存空间来进行交互

线程与进程的关系

例子

打开微信这就是开启了一个进程;之中的扫一扫,添加好友,设置…这些操作就是进程

进程包含线程,线程是进程的子集

进程是线程的容器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-diOY1Wdf-1669114935085)(并发,并行,串行,同步....assets/image-20221122155550974.png)]

在这里插入图片描述

总结

  • 进程:系统中运行的一个应用程序,程序一旦运行起来就是进程。资源分配的最小单位
  • 线程:系统分配处理器时间资源的基本单元,进程之内独立执行的一个单元执行流。程序执行的最小单位
  • 线程要分配一大部分的内存,而线程只需要执行分配一小部分栈即可
  • 一个程序至少有一个进程,一个进程至少有一个线程
  • 一个线程可以创建和撤销另一个线程,同一个进程中的多个条线程间可以并发执行

并发

CPU单核,多条线程同一时间交替执行

在这里插入图片描述

并行

cpu多核,线程同时执行

并行必须有多核才能实现,否则只能实现并发

在这里插入图片描述

串行

一个程序执行完,在执行下一个程序

在这里插入图片描述

任务运行的四种状态

线程在运行的过程中不断的改变其运行状态

一个运行的进程必须具有三种状态:就绪态,运行态,阻塞态

就绪态(Ready)

  • 当进程一分配到除CPU以外的所有必要的资源后,只要再获得CPU,便可执行程序,进程这时的状态就称为:就绪态。
  • 在一个系统中处于就绪态的进程可能有多个,通常将他们排成一个队列,称之为:就绪队列

运行态(Running)

  • 当线程已经获得CPU操作权限,其程序正在运行,称为:运行态
  • 当单核操作系统中,只有一个线程处于运行态,多和操作系统有多个进程处于运行态

阻塞态(Blocked)(sleep)

  • 正在执行的进程,由于等待某个事件而无法执行时,便被操作系统剥夺了CPU的操作时间,称为:阻塞态
  • 引起阻塞的原因多种,例如:等待I/O操作,更高优先级的任务抢走了CPU权限等

进程三种状态间的转换

一个进程在运行期间,会不断地在一种状态切换到另一种状态

一个进程可以多次处于就绪态和运行态,也可以多次处于阻塞态

在这里插入图片描述

就绪态->运行态

处于就绪态的进程,当进程调度程序为之分配了CPU的时间片,该进程就会由就绪态转为运行态

运行态->就绪态

处于运行态的进程在进程过程中,因为分配的时间片用完了,于是失去了CPU的使用权限,运行态就会重新转为就绪态

运行态->阻塞态

正在运行的进程由于遇到I/O操作或更高优先级的任务抢走CPU使用权限而无法继续执行,便从运行态转为阻塞态

阻塞态->就绪态

处于阻塞态的进程,若其等待的事情已经处理完,于是进程从阻塞态转为就绪态

任务提交的两种方式

同步

  • 发送方发送数据后,等待接收方回响应后才发下一个数据报的通讯方式
  • 同步是指两个程序的运行是相关的,其中一个线程在阻塞需要等待状态,另一个线程才执行

例子

  • A同学叫B同学吃饭,B同学听到后就会与A同学去吃饭,如果没有听到,A同学则会不停的叫,知道B同学听到,才去吃饭
  • 打电话,双方同时进行,不能再打该第三者

异步

  • 发送方发送完收据后,不等接收方回应,就可发送下一条数据
  • 异步是两个线程毫无关系,自己运行自己

例子

  • A同学叫B同学吃饭,然后A同学去吃饭,B同学收到消息后自行吃饭
  • 发消息,和A客户发完消息后,不等回应,再想B客户发送消息

进程池

什么是进程池

  • 进程池就是资源进程,管理进程组成的技术的应用。

为什么要有进程池

  • 忙时会有很多进程任务需要被执行,闲时可以没有线程任务
  • 当有很多线程时,难道需要我们去创建对应个数的线程吗
  • 创建线程,销毁线程是需要时间的
  • 开启很多线程时,操作系统也不可能都让他们同时执行,这样就会影响程序的效率

线程池的概念

  • 定义一个池子,在里面放入固定数量的进程,有需求,则拿池中的进程来处理任务
  • 等处理完毕,进程并不关闭,而是将进程重新放回池中等待指令
  • 如果需要执行的进程大于池中的进程,则需要执行的任务等待之前的进程结束任务回到池中,拿到空闲进程来执行
  • 进程池中的进程数量是固定的,则同一时间最多有着固定数量的进程同时执行
  • 进程池不会增加操作系统的调用难度,还节省了进程的开,关所需时间,

线程池

什么是线程池

一种多线程的处理方式,处理过程中可以将线程添加到队列中,然后在创建线程后自动启动这些线程,

为什么要有线程池

  • 可以根据系统的需要和硬件环境灵活的控制线程的数量,并且可以对所有线程进行统一的管理和控制,从而提高系统的的运行效率,降低系统运行压力,
  • 线程池中的线程可以复用,可以控制最大并发数,可以管理线程

线程池的概念

  • 线程与任务分离,提高线程重用性

  • 控制线程并发数量,降低服务压力,统一管理所有线程(提高线程管理性)

  • 提高系统响应速度

  • 重复利用已经存在的线程,减少创建和销毁时对资源的占用(降低资源消耗)

  • 当有任务执行时,不需要等待线程创建,直接执行任务(提高响应速度)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue中动态引入图片为什么要是require, 你不知道的那些事

相信用过vue的小伙伴,肯定被面试官问过这样一个问题:在vue中动态的引入图片为什么要使用require 有些小伙伴,可能会轻蔑一笑:呵,就这,因为动态添加src被当做静态资源处理了,没有进行编译,所以要加上require, 我倒着都能背出来… emmm… 乍一看好像说的很有道理啊,但…

Linux实现文件定期本地备份/异地备份/删除备份的脚本

一.背景 1.总会出出现环境上的数据丢失,在没有备份的情况下会非常的被动,不管是由于病毒还是人为的原因造成的程序、数据被删除,有时候后悔已经来不及,不如提前做到数据的备份,而异地备份也更加的保险一点。 2.数据备…

【Servlet】1:踏入JavaWeb的第一把钥匙

目录 第一章 | JavaWeb序章 | 章节概述 | JavaWeb项目运行流程 | 静态与动态资源 | Javaweb开发人员的三个任务 第二章 | HTTP网络协议 | 章节概述 | HTTP简介 | HTTP请求三要素 | HTTP请求包、响应包 | HTTP状态码 | HTTPS vs HTTP 本文章属于后端全套笔记的第三部…

Jenkins 如何 使用企业权限 登录

实现方式 基于Jenkins的 “CAS Plugin” 和 “Role-based Authorization Strategy”插件实现 CAS Plugin: 该插件支持使用CAS作为身份验证源,以支持单点登录(SSO)。一般的,企业都会有 这么一个服务,提供企业 统一身份管理,比如 百…

【GlobalMapper精品教程】026:影像黑边白边出现的原因及解决办法汇总

本文讲解Globalmapper中,影像黑边白边出现的原因及解决办法汇总。 文章目录 1. 影像黑边白边出现的原因2. 影像黑边白边的解决方法1. 影像黑边白边出现的原因 通常,由于影像格式、像素深度、无效值、背景值等原因,会产生黑边或者白边,给影像的拼接或者裁剪带来困扰。 2. …

基于ERP集成的流程制造管理系统

ERP的含义是企业资源计划,含义是对企业所拥有各种资源进行综合规划和优化管理,用以降低成本,提高效率,增加利润。ERP最初是在90年代初提出的,那时的ERP概念,还只是根据计算机技术的发展和供需链管理,推论各…

什么是GEMM?该怎么去学习GEMM?

什么是GEMM? 它的英文全称是 GEneral Matrix to Matrix Multiplication (通用矩阵的矩阵乘法),Gemm在神经网络的计算中占据很重要的位置。 它代表全局矩阵到矩阵的乘法,它本质上完全按照它在tins上所说的那样,将两个输入矩阵乘法在…

批量替换网站程序中的gotoip域名

网站访问出现验证页面,这是因为网站调用了二级域名,西部数码二级域名用于测试访问效果,不能用于正式访问,但是有些用户网站调试安装时使用了二级域名,内部链接没有修改,所以访问调用出现了验证页面。 这时要检查网站后…

DBCO(二苯并环辛炔)DBCO-PEG16-Benzylamine特点分享

【产品描述】 DBCO-PEG16-Benzylamine固体状,长链小分子PEG点击试剂,DBCO(二苯并环辛炔)是一种环炔烃,可以通过在水溶液中通过应变促进的1,3-偶极环加成反应与叠氮化物反应,这种生物正交反应也称为无铜点击…

前端、vue、Vue3弹幕实现;前端CSS实现弹幕

前端基于CSS3实现弹幕 基于CSS3动画 根据 Google Developer,渲染线程分为 主线程 (main thread) 和 合成线程 (compositor thread)。如果 CSS 动画只是改变 transforms 和 opacity,这时整个 CSS 动画得以在 合成线程 完成(而JS动画则会在 主…

PTA题目 最佳情侣身高差

专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)1.09 (男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。 下面就请你写个…

HTTP Only限制XSS盗取cookie

今天继续给大家介绍渗透测试相关知识,本文主要内容是HTTP Only限制XSS盗取cookie。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对…

使用 Helm Cli 将 chart 推送到 Harbor

使用 Helm Cli 将 chart 推送到 Harbor 背景问题 努力寻找适用于特定版本的 Harbor 和 Helm 的文档。 我尝试添加我的仓库(repo) helm repo add harbor https://myharbor.mydomain.com/chartrepo/myproject --username myusername --password mypass…

NXP iMX8M Plus M7核心FreeRTOS开发

By Toradex胡珊逢 Toradex 的 Verdin iMX8M Plus 计算机模块采用 NXP 的 iMX8M Plus 处理器。该 CPU 除了有支持 AI 硬件加速单元的 NPU 外,还配置了一个 M7 微控制器。相比于 iMX 8 QuadMax 处理器上时钟频率为 266MHz 的M4 微控制器, 该M7 的时钟频率…

Java基础39 Object类(节选)

ObjectObject类一、 equals( )● 与 equals的对比(☆)二、hashCode( )三、toString( )四、finalize( )Object类 Object类:Java中lang包的类,是类层次结构的根类,每个类都使用Object作为超类。所有对象(包…

【2015NOIP普及组】T3:求和 试题解析

【15NOIP普及组】求和 时间限制: 1000 ms 内存限制: 131072 KB 【题目描述】 一条狭长的纸带被均匀划分出了n个格子,格子编号从1到n。每个格子上都染了一种颜色colori用[1,m]当中的一个整数表示),并且写了一个数字numberi。 定义一种特殊的三元组:(x,y,z),其中x,…

Java架构该如何进阶?还在东拼西凑的学习?这份进阶指南相信会对你有所帮助,十多位资深大佬独家秘籍一并传授!

如何成为一名架构师? 笔者认为,想成为一名架构师,首先第一点必然是你的技术足够优秀,知识的深度和广度足够,遇到问题能很快从脑海中寻找出最合适的解决之道。其次,架构师会从整体上领导项目,与人打交道必不可少,因此…

区块链baas平台告警方案

前言 在《24*7动态化监管为“链”站岗》中,我们介绍了区块链动态化监控中心,如果说监控的作用是防患于未然,那么告警则是当异常发生时第一时间触发运维人员的关键,可充分降低监控对象异常的时间,最大化降低因异常给区…

深度解析KubeEdge EdgeMesh 高可用架构

摘要:通过高可用特性应用场景、高可用特性使用手册、课题总结、未来展望等四个部分的内容来向大家介绍新版本EdgeMesh的高可用架构。本文分享自华为云社区《KubeEdge EdgeMesh 高可用架构详解|KubeEdge云原生边缘计算社区》,作者:南开大学&am…

【计算机视觉OpenCV基础】实验二 基元检测

实验二 基元检测 计算机视觉OpenCV基础实验合辑(实验1234扩展) 资源下载地址: https://download.csdn.net/download/weixin_53403301 合辑:(加在下载地址后面) /87113581 讲义(包括理论、图例、…