(一)进程与线程

京东开源asyncTool之线程编排 一,并行常见的场景 1, 客户端请求服务端接口,该接口需要调用其他N个微服务的接口 譬如 请求我的购物车,那么就需要去调用用户的rpc、商品详情的rpc、库存rpc、优惠券等等好多个服务。同时,这些服务还有相互依赖关系,譬如必须先拿到商品id后,才能去库存rpc服务请求库存信息。 最终全部获取完毕后,或超时了,就汇总结果,返回给客户端。 2 ,并行执行N个任务,后续根据这1-N个任务的执行结果来决定是否继续执行下一个任务 如用户可以通过邮箱、手机号、用户名登录,登录接口只有一个,那么当用户发起登录请 阅读详情

一,什么是进程

进程是程序执行的一个实例,进程能够分配给CPU内存状语从句:等资源。一般进程包括指令集系统-状语从句:资源,其中指令集就是你的代码,系统资源就是指CPU,内存以及I / O等。

进程是一个程序在一个数据集中的一次动态执行过程,可以简单理解为“正在执行的程序”,它是CPU资源分配和调度的独立单位。 
进程一般由程序,数据集,进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。 
进程的局限是创建,撤销和切换的开销比较大。

二,什么是线程

线程是进程的一个执行流,线程不能分配系统资源,它是进程的一部分,比进程更小的独立运行的单位。 
解释一下:进程有两个特性:一是资源的所有权,一个是调度执行(指令集),线程是调度执行中的一部分,是指进程执行过程的路径,也叫程序执行流。线程有时候也叫轻量级进程。

线程是在进程之后发展出来的概念。线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元,由线程ID,程序计数器,寄存器集合和堆栈共同组成。一个进程可以包含多个线程。 
线程的优点是减小了程序并发执行时的开销,提高了操作系统的并发性能,缺点是线程没有自己的系统资源,只拥有在运行时必不可少的资源,但同一进程的各线程可以共享进程所拥有的系统资源,如果把进程比作一个车间,那么线程就好比是车间里面的工人。不过对于某些独占性资源存在锁机制,处理不当可能会产生“死锁”。

三,什么是协程

协程是一种用户态的轻量级线程,又称微线程,英文名协程,协程的调度完全由用户控制。通常人们将协程状语从句:子程序(函数)比较着理解。 
子程序调用总是一个入口,一次返回,一旦退出即完成了子程序的执行。 
协程的起始处是第一个入口点,在协程里,返回点之后是接下来的入口点。在蟒蛇中,协程可以通过产量来调用其它协程。通过收率方式转移执行权的协程之间不是调用者与被调用者的关系,而是彼此对称,平等的,通过相互协作共同完成任务。其运行的大致流程如下: 
。第一步,协程甲执行开始 
第二步,协程甲执行到一半,进入暂停,通过收率命令将执行权转移到协程B. 
第三步,(一段时间后)协程乙交还执行权。 
第四步,协程一个恢复执行。

协程的特点在于是一个线程执行,与多线程相比,其优势体现在: 
*协程的执行效率非常高。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。 
*协程不需要多线程的锁机制。在协程中控制共享资源不加锁,只需要判断状态就好了。 
提示:利用多核CPU最简单的方法是多进程+协程,既充分利用多核,又充分发挥协程的高效率,可获得极高的性能。

四,进程和线程的关系

进程就像地主,有土地(系统资源),线程就像佃户(线程,执行种地流程)每个地主(进程)至少有一个干活的佃户(线程)。 
进程-资源分配的最小单位,相对健壮,崩溃一般不影响其他进程,但是切换进程时耗费资源,效率差些。 
线程-程序执行的最小单位,没有独立的地址空间,一个线程死掉可能整个进程就死掉,但是节省资源,切换效率高。

五,PHP编程常见的进程和线程

1,在web应用中,我们每次访问php,就建立一个PHP进程,当然也会建立至少一个PHP线程 
.2,PHP使用pcntl来进行多进程编程 
3,PHP中使用pthreads来进行多线程编程 
4 ,nginx的的每个进程只有一个线程,线程每个可以处理多个客户端的的访问 
5,PHP-fpm的使用多进程模型,进程每个只有一个线程,线程每个只能处理一个客户端的访问。 
6 ,阿帕奇可能使用多进程模型,也可能使用多线程模型,取决于使用哪种SAPI。 
7,进程是CPU分配资源的最小单位,线程是CPU调度的最小单位

MIPI信号的分析--结合示波器实际测试波形 如果排查的思路对你有帮助,请记住 消雨匆匆 or 大吊工。码字和排查很累,仅此而已 ,硬件不是抄电路,拿烙铁,懂点软件,细致分析,找问题和破案搜集线索是一样的。 部分内容来自于此博客的大神总结: http://www.elecfans.com/news/wangluo/20170323499614.html http://www.elecfans.com/yuanqijian/jieko... 阅读详情

相关推荐

B站充电视频下载器(需配合会员Cookie使用,仅供学习交流,Python)

这个程序是一个用于下载B站充电视频的工具,依赖于用户提供的会员Cookies。

qq_40753021的博客 2万+

apache线程参数设置

如何知道apache是工作在哪个模式下的,答案很简单:apachectl -l即可。 这里,我先以prefork模式为例来说明参数的设置,其缺省设置一般如下: StartServers 5 MinSpareServers 5 MaxSpareServers ...

iteye_15052的博客 1063

普冉(PUYA)单片机开发笔记 [完结篇]:使用体会

这一篇是 PY32F003 应用实验的完结篇,总结了对这颗 MCU 的使用体会。我已经把自己实验用的代码打包上传,供各位码神参考。

Tomcat0130 - 代码生涯 9603

apache服务器中进程和线程的使用

apache功能强大,应用十分广泛。为了使不同平台的apache都能得到优化,apache支持MPM模块。linux/unix下的好的2个模块分别为prefork和worker。最初设计unix的时候,并没有线程这个概念,所以无论系统内核还是应用软件,都不支持线程的应用。最小的作业单位是进程。windows是一个完全支持线程的操作系统。线程比进程更小,能提高系统效率,减少系统开支。

想飞的马 3376

从零搭建风电场:手把手教你用WAsP+WindPRO完成风资源评估全流程

本文详细介绍了从零开始搭建风电场的全流程,重点讲解如何使用WAsP和WindPRO进行风资源评估和风场布局优化。内容包括软件配置、数据采集规范、风图谱建模实战、机组选型策略以及常见问题解决方案,帮助工程师掌握风电开发的核心技术,提升项目成功率。

year5的博客 371

TSMaster二次开发实战:如何用Python搞定CAN/CANFD事件回调(附完整代码)

本文详细介绍了如何利用Python进行TSMaster二次开发,实现CAN/CANFD事件回调功能。通过实战代码演示,讲解了预发送与后处理回调的核心区别、注册流程、资源管理及性能优化技巧,帮助工程师高效构建自动化测试与数据监控应用。

star的博客 668

JAVA进程与线程(一)

一、进城和线程的概念 (一)进程 操作系统中的各个应用程序,这些应用程序是一些不同的任务,这些任务一起工作构成了操作系统的基本功能。 进程的本质就是一些系统内存,每个进程占据一定的资源。 (二)线程 进程中包含的一个或多个执行单元(子任务,线程),例如360安全卫士中:可以进行病毒查杀、加速、电脑清理……等工作。这些功能是当前360安全卫士中的一些子任务,最后这些任务放在一起就称为了最终360安全...

超域的博客 618

YOLO环境配置+项目启动全流程(Conda+PyCharm超详解)

YOLO(You Only Look Once)是一个基于深度学习的目标检测算法,广泛应用于智能识别领域。本篇保姆级教学将手把手教你如何从零开始运行一个YOLO项目,适合完全没有基础的新手。

一键难忘的博客 1541

一、进程与线程

类比对象含义解释程序菜谱(静态)进程正在做菜的厨师(动态执行)线程厨师的双手(并行协作)调度器城管,决定谁干活谁休息时间片每个进程分到的摊位使用时间上下文工作现场的记忆(寄存器、栈状态)切换上下文厨师交接工作,记录上次做到哪程序是菜谱,进程是厨师,线程是双手,调度靠城管。厨师多效率高,但容易打架(死锁、竞争);各司其职,共享资源,安全加锁,效率与稳定并重。这就是进程与线程的本质与区别:进程负责“资源与隔离”,线程负责“并行与速度”。

bamboo_tt的博客 828

电子电气架构 --- 整车电源管理

保证启动能力:防止因电池电量耗尽而导致的车辆无法启动,这对于确保车辆在任何时候都能可靠运行至关重要。 延长电池寿命:通过避免电池深度放电,有助于延长其使用寿命,减少更换电池的需求和成本。 提升用户体验:虽然负载被关闭可能会暂时影响舒适度,但通过在必要时自动采取行动,可以减少驾驶员的焦虑和不确定性,提高整体的用户满意度。

Soly_kun的博客 1084

网络安全 | 企业网络安全的十大挑战及解决方案

网络安全 | 企业网络安全的十大挑战及解决方案,随着信息技术的飞速发展,企业数字化转型进程不断加速,网络安全问题日益成为企业运营与发展面临的关键挑战。本文深入剖析企业网络安全的十大挑战,包括网络攻击日益复杂、数据泄露风险、内部威胁、物联网安全、云安全、合规性要求、移动办公安全、供应链安全、人才短缺以及安全预算有限等,并针对每个挑战详细阐述相应的解决方案,旨在为企业构建全面、有效的网络安全体系提供指导与参考,助力企业在复杂多变的网络环境中保障自身信息资产安全,实现可持续发展。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 4万+

【进程、线程、协程】进程与线程的区别(一)

进程与线程的区别 1.线程:单个线程里的内存空间数据共享。线程是cpu执行的基本单位,每个进程默认带一个线程。 2.进程:物理内存空间隔离(多个进程内存空间彼此隔离) 同一个进程下的多个线程共享该进程内的数据 3.创建数据 造出线程的数据要快于进程:进程是告诉操作系统开辟内存空间, 即:进程开启子进程的pid号不一样...

qq_16761099的博客 675

读懂 ABAP CDS 注解的直接、继承与派生

本文系统梳理了ABAP CDS注解的评估逻辑,重点解析直接注解(Direct)、继承注解(Inherited)和派生注解(Derived)的差异及其在CL_DD_DDL_ANNOTATION_SERVICE中的处理方式。通过视图注解@Metadata.ignorePropagatedAnnotations可调控注解传播行为,避免下游语义影响上层视图。文章还提供了基于标准表的完整示例(包含底层视图、消费视图和ABAP报告程序),帮助开发者在实际系统中验证三层注解的叠加效果与阻断机制。关键点包括:派生注解的数据

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 245

Linux:线程的概念、与进程区别及内核实现(线程一)

线程(Thread)是进程内的独立执行流,是操作系统调度的基本单位。简单理解:进程是 “资源分配的容器”,而线程是 “容器里真正干活的执行者”—— 一个进程至少包含一个主线程,多个线程共享进程的全部资源(虚拟地址空间、文件描述符、信号表等),但拥有独立的执行上下文(CPU 寄存器、栈空间)线程是进程内的独立执行流,共享进程资源,调度成本低Linux 中线程本质是轻量级进程,通过描述,共享mm_struct区分于进程入门线程编程的核心是掌握 pthread 库的基本使用,理解线程的创建与回收流程。

hello world/linux 1554

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

进程与线程(一)

并发是什么?—》多个任务同时运行任务是什么?—》就是一个应用程序思考:程序是如何产生的?—》程序:一组能被计算机直接识别的有序指令的集合所以:程序是被编译生成的 eg:gcc test.c -o App (App就是一个程序)程序在外存(U盘,硬盘)上存储(静态的概念)一个程序一旦被运行起来,就会产生一个进程(动态的:被创建,被调度,被消亡)

xuezhe_____的博客 917

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

线程与进程(一)

进程是操作系统中执行的一个程序实例。它包含了程序代码和它的活动。每个进程都有自己独立的内存空间和资源,如文件描述符、网络连接等。进程就是正在运行中的程序(进程是驻留在内存中的)

z2331198564653的博客 1233

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

多线程一 进程与线程

1.进程与线程 进程:操作系统中一个程序的执行周期为一个进程 线程:一个程序同时执行多个任务,一个任务称之为线程; 线程的优点: 创建一个新线程的代价要比创建一个新进程小得多 与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多 线程占用的资源要比进程少很多 能充分利用多处理器的可并行数量 在等待慢速I/O操作结束的同时,程序可执行其他的计算任务 计算密集型应用,为了能在多处理器系统...

ITdong的博客 262

二、进程管理(一)进程与线程

在多道程序环境下,允许多个程序并发执行。传统的程序本身是一组指令的集合,是一个静态的概念。引入进程(Process)的概念来描述多个程序并发执行的动态过程。

24考研人晴落的博客 1557

【Linux】进程(一)Linux下的进程与线程

什么是LWP? LWP与pthread_create创建的线程之间的关系 轻量级进程ID与进程ID之间的区别

量变产生质变 585

python进程与线程(一)

一、进程和线程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个微信就启动了一个微信进程,打开一个淘宝就启动了一个淘宝进程,有些进程还不止同时干一件事,比如看视频进程,它可以同时运行视屏、音频、字幕等等事情。在一个进程内部,要同时干很多事情,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread)。 由于...

xjtuse123的博客 750

进程与线程(一)

进程 概念: 程序中的一次执行过程,也是系统运行程序的基本单位,因此进程是动态的。 在Java中,当我们启动main函数时其实已经启动了一个JVM的进程,因此我们创建的main就是所在这个进程中的一个线程,也称为主线程。 线程 概念: 线程是一个程序内部的顺序控制流 线程与进程相似,是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。 生命周期: 新建状态: 一个新...

qq_41010363的博客 154
上一篇: mysql优化
下一篇: (二)传输协议
github_zwl
博客等级 码龄11年 300粉丝 171原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值