- 博客(61)
- 资源 (1)
- 收藏
- 关注
原创 玩转迭代器模式
迭代器模式是一种行为设计模式,让你能在不暴露集合底层表现形式(列表、栈和树等)的情况下遍历集合中所有的元素。集合是编程中最常使用的数据类型之一。尽管如此,集合只是一组对象的容器而已。大部分集合使用简单列表存储元素。但有些集合还会使用栈、 树、 图和其他复杂的数据结构。无论集合的构成方式如何, 它都必须提供某种访问元素的方式, 便于其他代码使用其中的元素。集合应提供一种能够遍历元素的方式, 且保证它不会周而复始地访问同一个元素。如果你的集合基于列表, 那么这项工作听上去仿佛很简单。
2025-02-12 00:17:59
33
原创 玩转状态模式
状态模式与有限状态机的概念紧密相关。其主要思想是程序在任意时刻仅可处于几种有限的状态中。在任何一个特定状态中,程序的行为都不相同,且可瞬间从一个状态切换到另一个状态。不过,根据当前状态,程序可能会切换到另外一种状态,也可能会保持当前状态不变。这些数量有限且预先定义的状态切换规则被称为转移。你还可将该方法应用在对象上。假如你有一个文档Document类。文档可能会处于草稿Draft、审阅中Moderation和已发布Published三种状态中的一种。
2025-02-12 00:11:41
196
原创 玩转观察者模式
观察者模式通俗点解释就是你在观察别人,别人有什么变化,你就做出什么调整。观察者模式是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知多个“观察”该对象的其他对象。假如你有两种类型的对象: 顾客和商店。顾客对某个特定品牌的产品非常感兴趣 (例如最新型号的 iPhone 手机), 而该产品很快将会在商店里出售。顾客可以每天来商店看看产品是否到货。但如果商品尚未到货时, 绝大多数来到商店的顾客都会空手而归。
2025-02-12 00:02:05
479
原创 玩转适配器模式
适配器模式可比上一篇的工厂模式好理解多了,工厂模式要具有抽象的思维。这个适配器模式,正如字面意思,就是要去适配某一件物品。假如你正在开发一款股票市场监测程序, 它会从不同来源下载 XML 格式的股票数据, 然后向用户呈现出美观的图表。开发过程中, 你决定在程序中整合一个第三方智能分析函数库。但是遇到了一个问题, 那就是分析函数库只兼容 JSON 格式的数据。你可以修改程序库来支持 XML。但是,这可能需要修改部分依赖该程序库的现有代码。
2025-02-11 23:55:21
203
原创 玩转工厂模式
工厂方法模式是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。如果我们的物流服务开始只有路上服务,但是后来又想发展一条海上物流,如果代码其余部分与现有类已经存在耦合关系,那么向程序中添加新类就不好办了。所以就引出来了我们的工厂方法,工厂方法模式建议使用特殊的工厂方法代替对于对象构造函数的直接调用(即使用new运算符)。对象仍将通过new运算符创建,只是该运算符改在工厂方法中调用罢了。工厂方法返回的对象通常被称作“产品”
2025-02-11 23:43:10
61
原创 UE5--浅析委托原理(Delegate)
委托是一种用于事件处理的机制。通过使用委托,可以将一个或多个函数绑定到一个事件上,在事件触发时自动调用这些函数。代理也叫做委托,比如:跳,跑,开枪,伤害等响应,就是注册一个委托回调,其作用就是提供一种消息机制,都知道消息的传递需要发送方和接收方,而代理的过程也可分为这两大部分,我们可以换个名字分别叫做:触发点和执行点,这就是代理的主要部分,记住这个两个点就能记住代理原理。这里面也有很多的类型擦除,类型还原,还有函数签名转换。
2025-02-10 22:44:41
1670
原创 Ue4----必备网络知识
1.网络需要同步各个客户端的信息,数据是从服务器同步到客户端,还是客户端同步到服务器?服务器同步到客户端2.网络模式大概有几种?虚幻是使用那种模式进行同步信息?C/S模式3.服务器大概有几种?他们之间的区别是什么?DedicatedServer和ListenServer;区别在于ListenServer是拿一个客户端做服务器,而DedicatedServer是有一个独立的服务器。4.虚幻的同步是通过什么方式实现的?数据同步:Replicates;一个变量设置为Replicated以后,一旦服务
2022-04-30 18:12:22
1426
原创 UE4----GC(垃圾回收)
近日在UE4的反射,UE4的反射包含许多方面。这篇文章主要分析有效UE的垃圾回收机制(Garbage Collection)。这是一种动态的内存管理机制。当一个电脑上的动态内存不需要时,就应该予以释放,这种自动的资源管理,称为垃圾回收,这种动态的释放内存机制,可以减少工作当中或者项目当中所犯得错误。在分析UE GC时我们要知道以下的知识算法分类:1.引用计数GC和追踪式GC引用计数式GC通过额外的计数来实时计算对单个对象的引用次数,当引用次数为0时回收对象。引用计数的GC是实时的。像微软COM对象
2022-04-23 13:48:49
4496
3
原创 N皇后问题(C++)
n−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数 n,请你输出所有的满足条件的棋子摆法。输入格式共一行,包含整数 n。输出格式每个解决方案占 n 行,每行输出一个长度为 n 的字符串,用来表示完整的棋盘状态。其中 . 表示某一个位置的方格状态为空,Q 表示某一个位置的方格上摆着皇后。每个方案输出完成后,输出一个空行。注意:行末不能有多余空格。输出方案的顺序任意,只要不重复且没有遗漏即可。
2022-04-20 21:18:55
5214
原创 浅谈前缀和(C++)
1.构造前缀和前缀和的思路是这样的,对于一个给定的数组 nums,我们额外开辟一个前缀和数组进行预处理:vectorsums;int n = nums.size();// 前缀和数组sums.resize(n+1);for (int i = 0; i < n; i++)sums[i + 1] = sums[i] + nums[i];这个前缀和数组 preSum 的含义也很好理解,sums[i] 就是 nums[0…i-1] 的和。那么如果我们想求 nums[i…j] 的和,只需要一步操
2022-03-23 09:41:10
1634
原创 大厂常见面试题----C++篇(3)
1.说一下explicit关键字explicit是用来防止由构造函数定义的隐式转换,不能自动的隐式类型转换,只能显式的进行类型转换。隐式类型转换:class Person {private: int age; public: Person() = delete; Person(int age) : age(age) {}; void Print() { std::cout << age << "\n"; }}
2022-03-18 20:36:04
1103
原创 大厂常见面试题----C++篇(2)
文章目录1.关键字static的作用?2.什么是内存泄漏?面对内存泄漏和指针越界,你有那些方法?3.定义和声明的区别?4.静态绑定和动态绑定的介绍?5.引用作为函数参数以及返回值的好处?1.关键字static的作用?(1)函数体内:static修饰的局部变量作用范围为该函数体,不同auto变量,其内存只被分配一次,因此其值在下次调用的时候维持了上次的值。(2)模块内:static修饰全局变量或全局函数,可以被模块内的所有函数访问,但是不能被模块外的其他函数访问,使用范围限制在声明它的模块内。(3)类
2022-03-16 21:06:36
1345
原创 大厂常见面试题----C++篇(1)
1.C++内存分布?(1)栈区由编译器自动分配释放,存储函数的参数值,局部变量值等,其操作方法类似于数据结构中的栈。程序自动向操作系统申请分配以及回收,速度快,使用方便,但是程序员无法控制,如果分配失败,抛出栈溢出错误注意:const局部变量也存储在栈区,栈区向地址减少的方向增长;系统为变量在栈上申请内存后,CPU需要不断地判断变量是否已结束使用的生命周期,如果生命周期结束,系统就会释放这个变量申请的栈内存,这样一来随着在栈上申请的变量增多,会对cpu 造成额外的 消耗(2)堆区一般由程序员申
2022-03-14 14:41:05
1805
原创 Ue4----渲染流程
文章目录整体流程一、应用阶段1.基本场景数据2.光源和阴影3.加速算法 粗粒度剔除4.渲染设置5.输出到显存二、几何阶段1.顶点着色2.曲面细分3.投影4.裁剪5.屏幕映射三、光栅化阶段1.三角形设置2.三角形遍历四、逐片元操作1.片元着色2.颜色混合整体流程1.应用阶段->几何阶段->光栅化阶段->逐片元处理->后处理·应用阶段:粗粒度剔除,进行渲染设置,准备基本数据,输出到几何阶段。·几何阶段:顶点着色器,曲面积分,几何着色器,顶点裁剪,屏幕映射。·光栅化阶段:三角形(
2021-12-13 21:56:39
4525
原创 详细配图说明“进程和线程”
1.进程我们编写的代码只是一个存储在硬盘的静态文件,通过编译后就会产生二进制可执行文件,当我们运行这个可执行文件后,它会被装载到内存中,接着CPU会执行程序中的每一条指令,那么这个运行中的程序,就会被称为进程。现在我们考虑有一个会读取硬盘文件数据的程序被执行了,那么当运行到读取文件的指令时,就会去从硬盘读取数据,但是硬盘的读写速度是非常慢的,那么在这个时候,如果CPU傻傻的等硬盘返回数据的话,那CPU的利用率是非常低的。所以,当进程要从硬盘读取数据时,CPU不需要阻塞等待数据的返回,而是去执行另外的进程
2021-12-02 23:10:33
705
原创 计算机网络----常见问题之TCP篇(1)
1.TCP的头格式?序列号:在建立连接时由计算机生成的随机数作为其初始值,通过SYN包传给接收端主机,每发送一次数据,就累加一次该数据字节数的大小。用来解决网络包乱序问题。确认应答号:指下一次期望收到的数据的序列号,发送端收到这个确认应答以后可以认为在这个序号以前的数据都已经被正常接收。用来解决不丢包的问题。控制位:ACK:该位为1时,确认应答的字段变为有效,TCP规定除了最初建立连接时SYN包之外该位必须设置1.RST:该位为1时,表示TCP连接中出现异常必须强制断开连接。SYC:该位为1时,
2021-11-24 22:07:33
850
原创 计算机网络----Ping的原理加底层详细解释
1.ICMP是什么?ICMP全程是Internet Control Message Protocol,也就是互联网控制报文协议。网络包在复杂的网络传输环境里,常常会遇到各种的问题,没有头脑的作风不是计算机的风格。所以需要传出的消息,报告遇到什么问题,这样才可以调整传输策略,以此来控制整个局面。2.ICMP功能都有啥?ICMP主要功能包括:确认IP包是否成功送达目标地址,报告发送过程中IP包被废弃的原因和改善网络设置等。在IP通信中如果某个IP包因为某种原因未能达到目标地址,那么这个具体的原因将由IC
2021-11-24 22:03:29
2565
原创 计算机操作系统底层相关知识
1.冯诺依曼模型内存:我们的程序和数据都是存储在内存,存储的区域是线性的。数据存储的单位是一个二进制位,即0或1。最小的存储单位是字节,1字节等于8位。内存的地址是从0开始编号的,然后自增排列,最后一个地址为内存总字节数-1,这种结构好似我们程序里的数组,所以内存的读写任何一个数据的速度都是一样的。中央处理器:也就是我们常说的CPU,32位和64位CPU最主要的区别在于一次能计算多少字节数据:32位CPU一次可以计算4个字节;64位CPU一次可以计算8个字节;这里32位和64位,通常称为CPU的位宽。之
2021-11-22 20:26:44
7241
5
原创 深入理解分治算法(附上详例及代码)
分治算法分治算法,根据字面意思解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。分治策略:对于一个规模为n的 问题,若该问题可以容易解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归的解决这些子问题,然后将各子问题的解合并得到原问题的解。使用场景:·该问题的规模缩小到一定的程度就可以容易的解决。·该问题可以分解为若干
2021-11-18 11:20:31
1696
原创 深入理解Sunday算法(附上C++代码)
2.Sunday算法Sunday算法与KMP算法一样是从前往后匹配,在匹配失败时关注的是主串中参加匹配的最末位的下一位字符。如果该字符没有在模式串中出现则直接跳过,即移动位数=模式串长度+1;否则,其移动位数=模式串长度-该字符最右出现的位置(从0开始)=模式串中该字符最右出现的位置到尾部的距离+1例:假定现在要在主串substring searching xiaowu中查找search。1.刚开始时,把模式串与文本串左边对齐:2.结果发现在第2个字符处发现不匹配,不匹配时关注文本串中参加匹配
2021-11-16 18:06:07
1973
2
原创 深入理解BM算法(附上C++代码)
BM算法BM算法的一个特点是当不匹配的时候一次性可以跳过不止一个字符。即它不需要被搜索的字符串中的字符进行逐一比较,而会跳过其中的某些部分。通常搜索的关键字越长,算法速度越快。它的效率来源:对每一次失败的匹配尝试,算法都能够使用这些信息来排除尽可能多的无法匹配位置。它充分的利用待搜索字符串的一些特征,加快了搜索的步骤。基于以下两个规则让模式每次向右移动的尽可能大的距离:坏字符规则:当文本字符串中的某个字符跟模式串的某个字符不匹配时,我们称文本串中的这个失配字符为坏字符,此时模式串需要向右移动,移动的位
2021-11-15 21:11:29
2962
1
原创 大厂常见问题(3)----计算机网络之HTTP篇
1.Http是什么?描述一下HTTP是超文本传输协议,也就是HyperText Transfer Protocol2.能否详细解释“超文本传输协议”?HTTP的名字可以分为三个部分:超文本 传输 协议协议:HTTP是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为和规范)。传输:HTTP是一个在计算机世界里专门用来在两点之间传输数据的约定和规范,它是一个双向协议。超文本:HTTP传输的内容是
2021-11-04 17:12:29
223
原创 设计模式(详细介绍了各种模式和原则)
一.设计模式简介1.底层思维:向下,把握机器底层语言(语言构造,编译转换,内存模型,运行时机制)2.抽象思维:向上,将我们的世界抽象为代码(面向对象,组件封装,设计模式,架构模式)二.面向对象1.重新认识面向对象理解隔离变化:从宏观层面看,面向对象的构建方式更能适应软件的变化,能将变化所带来的影响减为最小。各司其职:从微观层面来看,面向对象的方式更强调各个类的“责任”。由于需求变化导致的新增类型不应该影响原来类型的实现,是所谓的各负其责。对象是什么?从语言实现层面看,对象封装了代码和数据从
2021-10-17 21:01:56
359
原创 VS中C/C++的编译流程(非常详细)
文章目录前言一、.CPP文件和.OBJ文件1. .CPP文件2. .obj文件二、编译过程三、链接过程四、C/C++中提供的一些特性简要说明编译流程前言编译过程就是将源文件中的源代码翻译成机器语言,保存到目标文件中。如果编译通过,就会把CPP文件转换成OBJ文件一、.CPP文件和.OBJ文件1. .CPP文件每个cpp就是一个编译单元,每个编译单元相互之间是独立且相互不知的。一个编译单元是指一个.CPP文件及这include的所有.h文件。.h文件里面的代码将会扩展到包含它的.cpp文件,然
2021-10-05 16:12:37
14637
原创 STL的重要组件
文章目录前言一、STL六大组件简介二、STL的优点三、STL的缺陷四、STL三大组件1.容器2.算法3.迭代器前言STL 从广义上分为: 容器(container) 算法(algorithm) 迭代器(iterator),容器和算法之间通过迭代器进行无缝连接。STL 几乎所有的代码都采用了模板类或者模板函数,这相比传统的由函数和类组成的库来说提供了更好的代码重用机会。一、STL六大组件简介容器: 各种数据结构,如vector、list、deque、set、map等,用来存放数据,从实现角度来看,ST
2021-09-30 17:56:51
491
原创 游戏设计----常见的碰撞检测
文章目录前言一、BVTree技术1.AABB包围盒2.包围球Sphere3.方向包围盒OBB4.固定方向凸包FDH二、GJK Tree1.Support函数2.明可夫斯基和(Minkowski Sum)3.单纯形(Simplex)总结前言碰撞检测俗称体积碰撞,这是实时渲染中不可忽视的一面。碰撞检测让客户看来,应该非常我们的日常实际,不被察觉出来是最好的结果。一、BVTree技术BVTree技术的出现就是在模型外面建立分层的包围盒,将问题分隔,以略微提升空间的复杂度为代价,大大降低了时间复杂度。BVT
2021-09-23 17:52:10
3101
原创 Lua----基础介绍
文章目录前言一、Lua特性二、Lua应用场景三、Lua数据类型四、Lua变量五、Lua循环条件语句六、运算符1.算数运算符2.关系运算符3.逻辑运算符4.其他运算符总结前言Lua是一种轻量级语言,用标准的C语言编写以源代码形式发放,很小,可以方便的嵌入其它程序里,而且Lua提供了非常容易使用的扩展接口和机制:由宿主语言提供这些功能,Lua可以使用它们,就像自己的内置功能一样。一、Lua特性1.支持面向过程编程和函数式编程2.自动内存管理,只提供一种通用类型的表(table),但可以实现数组,哈希表
2021-09-18 15:52:52
1073
原创 Ue4 广域网(4)----OwnerShip
1.OwnerShip<1>所谓“Own”(拥有)的主语其实是一个“连接”的实例或者PlayerController。<2>每个“连接”的实例肯定会Own(拥有)一个PlayerController<3>那么决定一个Actor是否被拥有,就是向上查找他的Ownership结构树,找到最上层的拥有者,如果是个PlayerController,它就被这个PlayerController以及它的“连接”所拥有。<4>最典型的的例子,一个Pawn被Player
2021-09-16 11:03:56
650
原创 Ue4广域网(3)----Replication和Rep_Notify
文章目录一、Replication同步1.Property Replication属性同步2.使用Property Replication属性同步3.Replication Condition同步条件4.Component Replication组件同步5.使用组件同步二、RepNotify一、Replication同步Replication属性同步一般是指服务器将数据传递到客户端的动作(反之不行),进行同步的方式有两种:<1>Property Replication属性同步:以对象属性作
2021-09-14 15:54:52
2563
1
原创 Ue4 广域网(2)----RPC
文章目录前言一、RPC架构组件二、RPC调用过程三、C++调用RPC四、C++调用RPC要求1.从服务器调用的RPC2.从客户端调用的RPC总结前言Ue4在网络方面主要通过两种方式来同步,一种是属性复制,另一种就是RPC。这里官网也有解释。一、RPC架构组件基本的RPC架构应该包含至少四个组件:<1>客户端(Client):服务调用方(人)<2>客户端存根(Client Stub):存放服务端地址信息,将客户端地址信息,将客户端的请求参数数据信息打包成网络消息,再通过网络
2021-09-13 21:30:15
1707
转载 Ue4广域网(1)----Session和OnlineSubsystem
文章目录前言一.OnlineSubsystem1 什么是OnlineSubsystem?2 OnlineSubsystem的初始化流程二.Session1.什么是Session?2. UE4中的Session前言想要了解Ue4的广域网部分,是逃不过Session和OnlineSubsystem这两个概念。所以这两个概念是非常重要的。一.OnlineSubsystem在讲解网络模式相关内容前,有必要先了解OnlineSubsystem与Session的相关知识。1 什么是OnlineSubsyste
2021-09-12 17:31:41
3143
原创 UE4--材质概述
Abs(求绝对值)添加AntialiasedTextureMaskAppendVector(向量合并)BumpOffset(凸凹偏移)CameraVector(相机位置向量)CameraWorldPosition(相机的世界位置)Ceil(值上限取整)Clamp(区间值限定)ComponentMask(分量蒙板)Constant(常量)Constant2Vector(二维常数向量)Constant3Vector(三维常数向量)Constant4Vector(四维常数向量)Cons
2021-06-09 15:18:46
706
原创 Socket通信原理和QQ的基本实现
文章目录前言一、网络中进程之间通信方式二、Socket的基本使用1.Socket函数2.bind()函数3.listen()、connect()函数4.accept()函数5.read()、write()、close()函数三、QQ的基本实现C语言版本C++版本前言最近在看Socket网络编程这一部分,本来以为跟教程下来就算了解了,但是一个腾讯学长问了一个基础问题,竟然都答不上来,有必要去了解一些基础知识了,各函数之间的作用,之间的联系,我浏览了很多大佬的文章,进行总结,但是有些问题还没有解决,接下来就
2021-05-29 09:40:29
1257
原创 UE4--函数介绍
文章目录前言一、类型前缀二、字符型函数前言UE4C++中有很多函数,但是也会分几个大类,剩下的函数就是蓝图的直译,所以就介绍一些不知道的。一、类型前缀类型名称前都有一个大写字母,这个字母是用来区分不同的类型和变量名。T 表示模板类U 表示类继承自 UObjectA 表示类继承自 AActorS 表示类继承自 SWidgetI 表示抽象接口类E 表示枚举b 表示布尔值F 表示其他类二、字符型函数UE4有三种字符类型:FName,FText,FString。这三种类型可以互相转换。
2021-05-28 23:34:08
1047
原创 SYN-Flood攻击与防御
文章目录前言一、怎么进行攻击二、怎么防御SYN-Flood攻击前言SYN-Flood是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求。(首先需要了解TCP三次握手,我其他博客有详细解释,这里就不在赘述了)一、怎么进行攻击当攻击者向服务器发送大量的SYN报文后,而不进行TCP第三次握手ACK包的应答。那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的,这种情况下服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源无暇理睬客户的正常请求,此时从正常客户的角度去看,服务器失
2021-05-26 22:24:40
3840
原创 计算机操作系统--文件管理
文章目录前言一、文件访问方法1.顺序访问2.直接访问3.索引访问二、目录结构1.一级目录优点缺点2.二级目录二级目录系统的特点3.树形结构目录4.非循环图结构化目录三、文件系统文件系统结构主引导记录(MBR)当打开电脑时会发生什么四、磁盘中的数据结构1.引导控制块2.卷控制块3.目录结构(每个文件系统)4.文件控制块五、内存中的数据结构1.内存安装表2.内存目录结构缓存3.全系统打开文件表4.每个进程打开文件表六、目录实现1.线性列表特点2.哈希表3.分配方法连续分配优点缺点链表分配优点缺点文件分配表优点缺
2021-05-25 16:30:13
2892
原创 计算机操作系统--内存管理(下)
文章目录一、页表二、从页表映射到主内存1.生成逻辑地址2.缩放3.生成物理地址4.获取实际的帧数三、页表项1.禁用高速缓存2.引用3.修改4.保护5.存在/缺席四、虚拟内存按需分页优点缺点五、后备缓冲器寻呼的缺点如何减少页面大小如何减少有效的访问时间参考地点转换后备缓冲器(TLB)六、按需分页什么是页面错误什么是抖动转换页表七、页面替换算法如果算法不是最优的页面替换算法的类型Belady异常八、分段为什么需要分段逻辑地址按段表转换为物理地址分段的优势分段的缺点分页与分段的比较分段的分页逻辑地址到物理地址的转
2021-05-25 09:30:45
216
原创 计算机操作系统--内存管理(上)
文章目录前言一、固定分区1.内部碎片2.外部碎片3.限制进程的大小4.多程序的程度较低二、动态分区动态分区比固定分区的优势1.没有内部碎片2.对进程的大小没有限制3.多程序的程度是动态的动态分区的缺点1.外部碎片2.复杂的内存分配三、压缩(碎片整理)压实问题四、链表动态分区五、分区算法1.第一拟合算法2.下一个拟合算法3.最佳拟合算法4.最差拟合算法5.快速拟合算法六、物理和逻辑地址空间物理地址空间逻辑地址空间前言计算机内存是以二进制格式表示的一些数据结合。一、固定分区最早和最简单的技术之一是用于将
2021-05-24 14:21:30
426
原创 计算机操作系统--死锁
文章目录一、死锁简介饥饿和死锁死锁的必要条件相互排斥保持并等待没有抢先循环等待二、如何处理死锁死锁无知死锁预防避免死锁死锁的检测和恢复对于资源抢占资源回滚到安全状态对于进程杀死一个进程杀死所有进程一、死锁简介死锁是每个计算机进程等待分配给另一个进程的资源的情况。在这种情况下,由于它所需的资源不被执行,因此其他进程也在等待其他资源被释放。饥饿和死锁<1>死锁是一种没有进程被阻塞而没有进程继续的情况;饥饿是低优先级进程被阻止并且高优先级进程继续进行的情况。<2>死锁是一个无限的
2021-05-23 20:30:37
653
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人