首次揭秘,字节跳动数据平台为什么不选“纯中台制”

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2022.01.08

“规模尺度每增大十倍,很多架构设计点都需要再重新调整”。

面对个性化、多样化数据,以及企业内部的数据孤岛和业务孤岛,如果有一套能够处理海量数据的基础设施,那么在很大程度上可以挖掘并分析出对业务发展有价值的信息,从而帮助企业更快地作出数据驱动的决策,更快地推出适应用户/客户需求的产品。

这样的规模在业界也十分罕见,为了应对大规模的数据量,字节跳动数据平台团队没有采用传统的数据中台模式,而采用了“中台+BP制”模式,避免中台脱离业务需求。BP机制是一种创新,类似于HRBP,统一管理调配各个业务中的任务。相对于“纯中台制”,数据BP制的好处是更紧贴业务支持,规避了中台容易脱离业务需求、造轮子自嗨的风险。相对于“纯BU制”,最大的好处则是杠杆率高,平台是容易赋能的。

在策划2022年3月24-25日北京ArchSummit全球架构师峰会之初,我采访了字节跳动数据平台负责人罗旋,请他来讲讲字节跳动数据平台建设的历程和技术细节。罗旋在2014年加入字节跳动,从零开始组建大数据平台,带领团队搭建了包括数据采集、建设、治理、应用的全链路平台产品。倡导用数据驱动业务,以数据BP模式,敏捷支持了今日头条、抖音、西瓜视频、朝夕光年等各大业务线。在大数据的架构、产品、治理、安全隐私、组织设计等方面有丰富实践积累。以下是罗旋的回复内容。

Q:作为字节跳动数据平台的负责人,能否请您回顾一下,数据平台是如何建设的?又经历了怎样的演进过程?每次升级改造的背景是怎样?

罗旋:字节跳动数据平台的建设过程可能跟其他公司不大一样。我们所有的建设和演进逻辑,都是围绕如何能敏捷高效支持业务,促进增长这个目的。所以你会发现,从平台演进历史中能够看出,我们的优化前提背景,都是业务高速发展下,我们需要用什么样的能力,来支撑和驱动持续增长。

自2014年至今,大致分为以下几个阶段:

在2015-2016年间,业务快速发展,需要有更多报表、指标,和更灵活的分析能力。2015年今日头条的日活已经过千万了,数据量增大,对引擎的处理能力提出了更高要求,也开始考虑时效性,交互性等问题,此时我们采用Spark和Storm来进行数据处理。

到了2017年,以抖音为代表的业务数据量膨胀,不断挑战我们的能力边界。成长太快带来的问题很明显,一方面是经常出现资源到位的速度慢于业务增长,缺机器、机架位甚至机房。我们很多时候对数据链路各环节进行优化处理,不只是因为成本,更多时候是因为资源不够,导致我们必须要做。通过优化来解决数据量和分析效率,成为我们首要突破重点,做了很多选型尝试,如Presto、Kylin、Druid和ClickHouse,也基于这些开源引擎,做了大量二次开发和深度优化。这部分的投入,到今天也还在继续,也让我们在部分引擎如ClickHouse的积累上,相对领先业界。

除了引擎技术之外,我们也开始建立面向业务的数据产品。包括现在已经对外部企业提供服务的Finder(火山引擎增长分析),也是在当年取代了商业版的Amplitude,开始覆盖公司全部业务线。我们当时做过一版测算,按全产品线计算,每年可以给公司节省数亿的开销,如果按现在的数据体量,就要更多得多了。同时期开始投入的,也包括数据开发平台、元数据管理、任务依赖调度等核心平台能力。

公司的业务形态在这个时期,也开始变得丰富,有了抖音、火山小视频、西瓜等等,也就开始产生了中台化诉求。

到了2018、2019年,字节新业务的产生速度,又明显加快了。作为一个中台团队,如何快速高效的支持这些不断产生的、类型又越来越多样化的业务,成为一个很重要的命题。

我们在组织层面做了一些创新,设置了数据BP机制。BP全称是BusinessPartner,类似于HRBP,组织形式上是集中式的,可以统一管理调配,执行上分布式到各个业务,解决业务问题。这种组织方式的优势在于,尽管BP团队向上支撑了不同类型的业务线,但其实向下兼容了我们平台底层的各项能力,具备相似的技能栈,对工具引擎的学习和使用是高效且顺滑的。

作为数据平台能力的解决方案提供方,数据BP同学在组织上都汇报在数据平台,统一培养和调度,相互学习经验的角度,对中台能力也保证足够的熟悉度,以便根据不同业务的特性,灵活组合,提供综合性的数据解决方案,也保证了复用性,不轻易重复造轮子。在具体工作时,他们会扑在不同的业务线上,跟业务同学坐在一起,把自己视为业务线的一部分,保障与业务一起成功。

数据产品层面,我们开始越来越注重“产品化”,注重体验和降低门槛,而不仅仅是基础能力,这样才能让公司内更广泛的角色群体,都能用数据驱动的理念工作。我们的ABI产品“风神”就是这个时候推出的,这也成了字节几乎全员使用的一款数据产品。内部流传的“A/B是一种信仰,风神是一种习惯”,也是从这个时期开始广为人知。

2020年时,我们已经有两大块服务对象了。一个是对字节跳动的各业务线,以数据BP为接口,提供数据服务;另一个是面向外部企业,为外部客户创造价值。

在字节跳动内部,当支持了越来越多产品线之后,我们针对数据BP这种模式,提出了一个更量化的服务体系标准,叫做“0987”。这四个数字分别指的是:稳定性SLA核心指标要达到0个事故,需求满足率要达到90%,数仓构建覆盖80%的分析需求,同时用户满意度达到70%。服务字节内部业务,我们是按照这个高标准来要求自己,同时这也是一种自监管的机制,能够有效的防止自嗨,脱离业务需求和价值。

在外部客户方面,我们其实从2019年就开始探索ToB市场。到了2020年,ToB升级成了字节跳动公司的战略,公司注册成立了“北京火山引擎科技有限公司”。火山引擎是字节跳动旗下的企业级技术服务平台,数据平台也作为其中重要的大数据板块,持续加大投入。我们将内部支持服务比较好的产品和经验,封装成数据套件,通过火山引擎对外提供服务。目前,我们已经推出了技术引擎和营销增长两大套件,也有了一些不错的标杆客户。同时我们也在思考数据BP的解决方案能力、经验和方法论,是否能帮助到外部客户,让他们也享受到和抖音一样的数据服务级别,开始在这方面做一些尝试。

Q:正如您刚刚所提,平台架构并不是一开始就确定的。我们知道,架构持续升级的过程很少能一帆风顺,字节数据平台在架构演进的过程中有没有走过一些弯路?能否举个例子?

罗旋:也不算弯路吧,而是在技术演进的路上,需要解决什么样的核心问题,随着问题的变化,解法很可能也会改变。经历过架构演进升级的人都会知道,规模尺度每增大十倍,很多架构设计点都需要调整。另外由于是给飞奔的火车换轮子,有时也需要在资源、ROI上做一些权衡。举个例子,我们的用户行为分析产品Finder所使用的底层查询引擎,就经历过比较大的调整。

在一开始探索的时候,我们在2016年底做了技术选型,考虑了查询速度和性能、稳定性等因素,我们认为Kylin更符合那个时候的需求。它的优点是“快”,能达到毫秒级别,但是数据需要预聚合,且计算量大,维度和度量也都需要提前定义。当时我们采取了一些方法,暂时缓解了这些问题。但随着产品功能扩展到留存和转化分析,这套架构就难以做到交互式响应了。

为了提供更多灵活性,我们又快速用Spark做了一些尝试,保留原始数据、做字典编码、按用户ID分片、分层缓存等等。但考虑到业务发展速度需要追求对资源和性能都更极致的方案,通过一系列的测试验证之后,我们选择了ClickHouse来作为基础的查询引擎。ClickHouse当时还远不如现在流行,但我们认为它在类似场景的性能优化上做得比较极致,功能精简的同时实现质量高,是一个非常好的基础。在满足实际业务场景的过程中,我们也做了大量的深度优化和定制修改。目前我们拥有国内最大的ClickHouse集群,节点总数超过15000个、管理数据量超过600PB、最大单集群规模在2400余个节点,每天支撑着数万员工的交互式数据分析。

今年,我们也推出了企业版的ClickHouse,叫ByteHouse,除自研表引擎、扩展数据类型、冷热数据分离等核心能力升级之外,数据实时写入能力相较原生ClickHouse也提升了两倍以上。

Q:这个架构目前支撑了多大量级的数据规模?大规模处理遇到了哪些挑战?又是如何解决的?

罗旋:数据平台管理的总数据量,几年前就已经超过EB级别了,从实时流量的角度,我们在业务日常晚高峰时承载的埋点流量就已超过1亿TPS,有超十万core的单任务需要上千台机器来计算。这样的规模在业界也十分罕见,自然的会带来性能、扩展性、实时性等方面的挑战,前面提到的查询引擎的一些优化,也是由此引发的。再叠加上业务的多样性和复杂度,又会在大规模任务的调度、运维、资源优化、数据治理等维度上,碰到不少挑战。

举个例子,目前我们日均的数据处理作业量在百万级。从任务调度的角度,依赖关系复杂、层次也比较深,为了满足时效性要求,需要在前置依赖就绪的情况下快速触发调度执行。我们通过自研的分布式调度系统,实现了秒级调度能力。同时提供了任务的分级打标机制,结合SLA签署系统,通过多种任务资源控制方式,实现资源最合理的调配,结合优先级权重来保证SLA满足率。也可以根据任务的历史情况,对不合理的任务配置,提出配置优化的告警建议,不然大任务量的运维也很容易成为灾难。

Q:除了规模和性能之外,如何做好数据管理也是另一个不得不正视的问题。尤其是像字节这样业务丰富,数据类型不断扩大的企业,是如何去解决这个问题?

罗旋:我们更习惯叫数据治理,意思类似。当数据体量,多样化程度都很高的时候,这确实是一件特别重要的事情。

整体来说,数据治理是个长期过程,我们自己的实践分为两个阶段:

第一个阶段,针对我们的主营业务,成立了数据治理委员会,以民主集中的方式,做专项的诊断和治理,拿到标杆效果。同时,把在这个过程中形成的最佳治理实践,转化成可复用的架构、流程、产品,来降低治理门槛,以寻求可复制性。

第二个阶段,把第一阶段沉淀下来的中台治理能力,源源不断地赋能给创新业务,实现业务的分布式自治,使其不必都依赖特定团队。这个过程中,也会不断有新的需求反馈,让我们对治理产品持续打磨。

Q:您多次提到敏捷,这是字节数据平台的特性吗?体现在哪些方面?

罗旋:首先字节本身就是个比较敏捷的公司。这对于字节数据平台来说,也算是一个特性,我们追求的是敏捷高效支持业务增长。从几个方面可以体现:

Q:敏捷的其中一个体现是组织敏捷,这和其他的数据平台十分不一样,您能再深入介绍下数据BP的模式吗?

罗旋:BP模式的概念我在上面的问题里已经详述了。相对于“纯中台制”,数据BP制的好处是更紧贴业务支持,我们会坐在业务身边提供服务,并主动要求考核业务对自己的满意度,规避了中台容易脱离业务需求、造轮子自嗨的风险。相对于“纯BU制”,最大的好处则是杠杆率高,平台是容易赋能的。数据BP的同学并不是自己在战斗,他背后有很强大的团队,有很强的平台产品工具支持。业务发展曲线陡峭,或战略优先级变化时,数据BP的同学能非常快地协调资源。BP积累的业务支持经验,也更容易进行跨产品线的交流沉淀,最终体现在平台产品和方法论的积累上。

推行数据BP制的出发点,一方面是当业务体量越来越大,仅用通用的平台产品技术支持已经不能够满足需求了,需要再深入结合业务特性,提供综合性的解决方案和实施落地的能力;另一方面也是希望在纯中台化和纯业务闭环之间取长补短,在追求复用的同时,最大程度的提升组织效率。从我们几年下来的实践效果看,还是非常好的,虽然还是会有问题出现,但各业务方基本都是认可的。最近我们发现几十个业务的整体NPS已经达到了70,无论是从公司内还是从业界来看,都算是一个比较高的值。

Q:上面提到了很多能力特性,能否再总结介绍一下目前字节跳动数据平台的架构?

罗旋:从比较粗的粒度看,数据平台可以分成两大块,一块是平台能力层,另一块是解决方案层。

平台能力层主要是我们的通用产品技术能力部分,包括:

解决方案层,就是我们的数据BP模式。一方面数据BP团队,依靠我们的平台能力对不同的业务提供数据解决方案;另一方面,数据BP团队也能从业务中获取到更多发展诉求,进而使得我们的平台能力不断迭代并得以优化。

罗旋:当然,技术最终要通过业务来发挥价值,也只有复杂的业务场景,才会带来足够的技术挑战。

举一个特殊的场景吧。2021年抖音春晚活动中,流量洪峰达到日常的数倍,在这个场景下,我们需要提供各种实时指标数据,既要用于内部指导活动策略的实时更新,比如下个时段红包投放量的预算决策,也要给外部,比如把实时的春晚战报数据给到春晚现场和各媒体。这在实时性、稳定性、指标精确度、架构容错能力都有非常高的要求,而整个春晚项目从立项到上线只有27天,也增加了额外的难度和压力。

然后,在实时指标方面,我们也已经沉淀出了一套比较成熟的,以Flink实时计算引擎与ByteHouse、LAS等分析引擎相结合的实时数仓解决方案。针对春晚活动的实时决策和战报需求,我们使用了两套不同的技术架构,一套是基于Flink的计算架构,流式计算出最终指标,另外一套基于ByteHouse的存储架构,在存储层实时写入明细数据,查询时聚合出最终指标。同时两种架构也都做了双机房双链路冗余灾备。

Q:字节在数据应用上有很多自研的产品,但在大数据基础架构上的自研方向是怎么考虑的?

罗旋:从演进路径看,基本是三个阶段:1.使用开源;2.基于开源二次开发;3.自研。

最开始追求解决业务问题,开源社区提供了很多不错的基础方案,比如SparkSQL、ClickHouse、Airflow等等,我们会先尝试直接使用,也就是阶段1。在使用的过程中,随着业务复杂度的增加,会在可扩展性、易用性、垂直定制优化等方向遇到瓶颈,此时我们会做一轮技术判断,如果开源社区在核心部分、中长期跟我们预期一致,会走阶段2,例如SparkSQL、ClickHouse等。否则会直接走阶段3,例如数据任务的调度系统等。而一些系统,开源社区本来也没有好的选择,我们就会从一开始直接走阶段3,比如A/BTest系统。走2的系统改动太多,逐渐积累下来,有时也会趋近于3。

从现状来看,我们是一个2+3的混合状态。在过程中,我们也向开源社区反馈了一些具体的改动。目前也在考虑把一些比较成熟的自研系统整体开源出来,回馈更广泛的开发者。内部在积极的讨论中,可以期待一下。

Q:未来在ToB的规划,以及与字节内部技术演进的协同方式是怎样的?

罗旋:大的思路上,我们坚持内外部统一,用同一套产品技术体系来服务公司内外各业务。这样有几个好处,一是吃自己的狗粮,用内部的大体量和多元化场景来打磨产品技术,给外部客户提供更成熟的产品,也是帮助了字节跳动内部成功的产品和技术。

二是服务内部时,视野更宽广长期,更有外部视角。比如,在早期就去考虑外部市场对这一技术的需求有多大,如果仅仅是个定制化的小场景,那就小投入加外部采购来解决;如果有广泛需求,那就大投入,做到业界领先。

三是从成本效率来说也需要做到更优,能够复用资源和经验。从具体执行路径来说,产品在使用过程中会存在一些版本差异,但更多是由于场景不同,发展阶段不同导致的,核心并不是从内部和外部客户来区分,例如不同规模大小的业务带来的技术形态区别,操作易用性和功能复杂度的权衡等等,有点类似于很多软件的Pro和Lite版的感觉。

THE END
1.全国农业食品标准公共服务平台畜牧类 食品类 环境保护类 化妆品类 其他类 农业农村部 国家粮食局 国家发展和改革委员会 国家市场监督管理总局 国家药品监督管理局 国务院 生态环境部 国家药典委员会 商务部 工业和信息化部 国家卫生健康委员会 海关总署 国家出入境检验检疫局 国家标准化管理委员会 ...https://www.sdtdata.com/fx/fmoa/statuteLib
2.冠能狗粮小型犬美毛狗粮宠物狗比熊贵宾通用型小型犬狗粮小型成...10:1834评论 闭眼买、再降价、PLUS会员:尔蓝 压圈式垃圾桶 AL-GB109 6.92元包邮(需凑单0.9元) 12:2134评论 限用户:京东双11 话费充值补贴 实测中满10减5元话费券 赶紧去看看,先到先得 11月10日30评论 浏览记录 冠能狗粮 小型犬美毛狗粮 宠物狗比熊贵宾通用型小型犬狗粮 小型成犬粮7kg扫码...https://cu.manmanbuy.com/discuxiao_10349990.aspx
3.来了!纽顿T29狗粮测评!纽顿作为进口粮老品牌,其口碑和品质一直比较在线。今天我们要为大家测评一下纽顿T29狗粮,这款狗粮主打低脂低敏配方,比较适合小型犬,感兴趣的铲屎官可以一起来看看哦~ 生产工厂:Elmira Pet Products Ltd. 参考价格:32元/斤 一、购买 为了确保产品质量,我们此次购买的狗粮都是从纽顿线上旗舰店上购买的,纽顿品牌的知...https://www.isdpp.com/xq-17203.html
4.美味狗粮图片免费下载PNG素材编号z2rijnw2q编号:z2rijnw2q 尺寸:1024 x 669 像素 授权方式: 不可商用i 分享者:qwe 狗狗 卡通狗 手绘小狗 手绘狗 舌尖美味 狗粮猫粮 狗相框 猫粮狗粮 卡通狗狗 狗狗动 美味的狗粮PNGAI 卡通手绘狗粮猫粮素材PNGPSD 一堆零散狗粮PNG 猫粮狗粮PNG 猫粮狗粮PNG https://616pic.com/sucai/z2rijnw2q.html
5.QGDY0012017宠物喂食器企业标准(5页)GDY 001—2017 企业标准?可打印?可复制?无水印?高清原版?去除空白页 2017-02-23发布 2017-02-23实施 南京根达亚智能科技有限公司 发布 DDDDDDDDDDDD Q/GDY 001—2017 前 言 本标准按GB/T 1.1-2009 《标准化工作导则第1部分:标准的结构和编写》的规定编制,作为组织 生产和质量监督检验的依据。 https://max.book118.com/html/2020/0701/7045122153002144.shtm
6.狗粮啊?狗粮啊?开头的成语包含狗粮啊?的成语 狗咬狗 屯粮积草 兵精粮足 裹粮策马 寅吃卯粮 因敌取粮 狗心狗行 嫁狗逐狗 嫁狗随狗 飞刍挽粮 粮尽援绝 赍粮藉寇 馈贫之粮 寅支卯粮 吃粮不管事 飞粮挽秣 裹粮坐甲 积草屯粮 积草囤粮 粮多草广 弹尽粮绝 煮弩为粮 ...https://www.hao86.com/idiom_search/%E7%8B%97%E7%B2%AE%E5%95%8A%EF%BC%9F/
7.生产狗粮的利润有多大生产狗粮的利润有多大等待蓝色的枫叶落下 精选回答 1、以下是目前资本市场上从事宠物相关产业的某公司相关数据: 2、可以看到,宠物主粮的毛利大概是37%左右。当然,不同的公司、不同的宠物品牌,毛利都不尽相同,但是总体40%左右的利润还是有的。 3、而且,宠物的主要利润不仅是狗粮,还有后续消费品。比如宠物垫和玩具...https://edu.iask.sina.com.cn/jy/361QdoOYaND.html
1.宠物食品检测,狗粮检测机构狗粮检测标准(部分) 1、 t/zzb 0810-2018 宠物食品狗咬胶 2、 gb/t 31216-2014 全价宠物食品犬粮 3、 t/ciqa 15-2020冻干宠物食品规范 4、 t/sdpia 08-2022烘焙全价宠物食品 5、 t/sdpia 01-2023湿型全价宠物食品 6、 as 5812:2011宠物食品的生产和销售 7、 as 5812:2017宠物食品的制造和销售 8、...https://m.11467.com/product/d25185265.htm
2.问答:狗粮原味美版Orijen渴望进口狗粮原味通用11.4kg材质安全...[最佳答案]:Orijen渴望狗粮幼犬成犬全价犬粮 原味鸡肉11.4kg通用无谷进口是来自上海的【天猫超市】在售Orijen/原始猎食渴望品牌宠物/宠物食品及用品:狗全价膨化粮,可领30元优惠券后769元,【美版】Orijen渴望进口狗粮原味通用11.4kg,渴望进口狗粮原味,85%优质动物原料,鸡肉犬粮成犬幼犬通用看...https://www.dzlo.com/ask/1aacj9.html
3.酱香型白酒执行标准Q和GB有什么区别首先,Q标准是指《酱香型白酒技术规范(Q/JK 001-2015)》,是由中国酒类行业协会制定的标准。该标准...http://www.maixianwang.com/ask/172544.html
4.济宁狗粮山东狗粮济宁宠物食品山东省狗粮厂山东美可奇生物技术有限公司欢迎您!本公司是一家宠物食品研发、生产、销售于一体的现代化企业。所生产的爱犬人系列犬粮是由国内外著名宠物营养专家共同研发、采用顶级科研配方、国外先进加工工艺精制而成,涵盖各犬种所需营养成分,有利于爱犬成长发育,符合宠物营养需求,http://www.meikeqi.net/
5.GitHubProfond/FGO除战斗外,还提供包括但不限于以下功能:抽友情池,抽无限池,领邮箱狗粮,礼装强化 运行Run Windows 下载release - 运行游戏 - 运行FGO-py.bat- 连接设备 - 游戏中把你要刷的关卡放在第一个 - 点击「肝!」按钮 需要关闭「技能使用确认」 渠道服用户需要在初次运行后自行更改fgoConfig.json中package为自己的包名 ...https://github.com/Profond/FGO-py/tree/938e357467523c15f6f68cfaaabc035d5452e8c1
6.狗粮照片正版商用图片0mu41q摄图新视界提供狗粮图片下载,另有动物,背景,骨,骨头,棕色的,颜色,有色的,丰富多彩的,彩色的,五颜六色,饮食,多种多样的,狗,小狗,食物图片搜索供您浏览下载,每张图片均有版权可放心商用,您正在浏览的图片为0mu41qhttps://xsj.699pic.com/tupian/0mu41q.html
7.全价宠物食品狗粮一站式代加工oem工厂价格厂家¥5.50 狗粮代加工/狗粮OEM/猫粮代加工/猫粮OEM/山东宠物粮代加工贴牌 面议 狗粮代加工厂 猫粮代工厂排名 山东小顽童宠物食品代工厂 ¥5.50 山东宠物食品代加工 狗猫粮代工 狗粮批发 宠物零食贴牌代工 面议 山东狗粮猫粮代工厂瑞祥诺尔生产批发犬粮猫粮贴牌代加工1-20kg 青岛...https://www.china.cn/gougouganliang/4024328765.html
8.2020年11月营销日历知识库比如餐饮企业出荤劲牛堡,狗粮品牌出全肉粮,多肉植物卖家当天只售捕蝇草…… 感恩节 2020年11月26日 宜:玩跨界营销 2017的感恩节,杜蕾斯在感恩了 13 家品牌 杜蕾斯在各时间段的整点,于微博上感恩13个品牌:箭牌口香糖、德芙巧克力、士力架、Jeep、Levi's等。 https://www.shichangbu.com/know_info/55680.html
9.纯福狗粮来自是哪个厂家生产的–960化工网问答纯福狗粮是由广州市福康宠物食品有限公司生产场的,该公司成立于2008年,是一家专注于宠物食品研发、生产...https://m.chem960.com/ask/q-81aa7c81cd4f467798764545d55a606b
10.黄山有哪些茶叶普洱茶百科黄山作为中国著名的风景旅游区以其奇松、怪石、云海、泉四绝著称。黄山不仅风景秀丽更是茶叶的故乡其以黄山毛峰、太平猴魁等名茶闻名于世。这些茶叶不仅品质上乘外形也颇具特色有些甚至被形容为长得像狗粮。咱们解释落实... 黄山有哪些茶叶出名?黄山著名茶叶品种解析 黄山是...https://www.jiceng.org/post/puerchabk/1947244.html
11.python里面的进程和线程有什么区别python中的进程和线程p3.join()#生产者结束,——》q.join()——》消费者确实把所有数据都收到 #主进程结束之后,守护线程随之结束,这样消费者进程就不会存活 生产者消费者升级版 十、死锁现象与递归锁 进程也有死锁与递归锁,所谓死锁,是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力...https://blog.csdn.net/weixin_39886238/article/details/110170166