【博弈论】【第一章】博弈论导论

news2024/11/25 20:22:54

博弈论导论

  • 【例题】选择数字
  • 【例题】巴什博弈
  • 【例题】射手博弈
  • 博弈论的基本概念:
    • 参与人
    • 战略
    • 行动
    • 信息
    • 支付函数
      • 【例题】分100元

课程概述: 在这里插入图片描述

【例题】选择数字

两个参与人A和B,轮流选择[3,4,5,6,7,8,9]中的一个整数(可重复)。当累计总和达到100的时候,博弈结束。此时判所选数字恰好使累计总和达到或超过100的参与人为输家。试问最先行动的A能赢得这场博弈吗?最优策略又是什么?
【解】
整个游戏的过程:
在这里插入图片描述
如果前面选择的数字之和能够达到97,98,99的话,那么下一个人最少选择的是3,所以就一定会等于或者超过100。那么这个人就输了。
在这里插入图片描述

所以我们如何去控制A每一轮的选择,使得最后一轮该B选择的时候,数字加和已经到达97,98,99,从而使得B一定输呢?
那就是找到每一轮我们可以控制的数。
由于我们观察到我么可选择的数的范围中,两个人选择的数字加和最大是12,也就是我们总可以通过不同的数字组合控制每一轮的加和达到固定的数字12。那么就可以一轮一轮往前推,推到第一轮A应该先手选择什么数字能赢。所以大致思路就是这样的:
据逆推归纳法,当累计接近100时,得到99的A会赢,问题变为抢99。同理,问题可变为抢87[=99-(3+9)],75,63,51,39,27,15,3,继续逆推,就是先抢到3,会赢。A先选3,则A胜出。
在这里插入图片描述
但是如果我们不用上面的战略,第一轮的时候A选择4呢?
在这里插入图片描述
那么一定会导致最后一轮的时候A于B的加和必须小于11,然后轮到B的时候才能是99。但是这是不可控制的,因为一但B选择9,A不论选择什么,这个加和都不可能小于11,所以A直接输掉比赛了。
所以有如下命题:
【命题1】在数字游戏1中,先行动者存在唯一的必胜的最佳应对战略(策略)。

考虑反应对的情形:在本示例中,我们采取的是当A=3时,B选择X1,A再选择Y1,使得X1+Y1=12(我们把这种情形称之为A对B的应对),进而A能保证赢。如果当A=3时(同学们也可以试试开始时A为其他数字的情形,情况可能有些复杂),B采取A+X1=12,依次Y1+X2=12,…,我们把这种情形称之为B对A的反应对。
但是如果先行动者第一局选择的3,后面都采用和为12的策略,那么B不论做何反应对都是没有用的,B面临的是必输的局面。
在这里插入图片描述
但是如果A一开始没有选择3,而选择的是其他数字,那么B用反应对策略都有唯一的一个机会取胜。
如下图所示,A第一局没有选择3,那么他只能选择比3大的数字,然后B把第一局的加和控制为13,而后面每一局B都使得加和为12,则总和为12*6+13=85。那么在最后一局的时候B只要控制加和为12就是必胜,并且根据A的选择,也可以控制为13或者14,都是必胜的策略。
在这里插入图片描述
因此又有如下命题:
【命题2】在数字游戏1中,先行动者若开始选择的数字A≠3,则后行动者存在必胜的最佳应对战略(策略),且针对每个不等于3的A,这个战略(策略)是唯一的。

如果达到或超过100的参与人为赢家,局势会怎么样呢?
根据逆推归纳法,当累计接近100时,得到88的人会赢,问题变为抢88。同理,问题可变为抢76,64,52,40,28,16,4,继续逆推(
100-12n,当n=8时余4),就是先抢到4的人会赢。先行动的A先选4,则A胜出。

【例题】巴什博弈

一堆石子有n颗,A、B两个人轮流拿取,每次至少拿取1颗,至多拿取m颗,拿走最后一颗石子的人获胜。
【解】
假设石子有 n=m+1由于一次只能取m颗,无论先手取多少颗,后手总能拿走剩余的,这时一定是先手负。
若石子n= (m+1)*r+s,对于先手应该先取走s颗,设后手取走k颗,先手再取走m+1-k,剩余的石子颗数为(m+1)(r-1)以后保持这样的取法,先取者获胜。总之,就是要留给对手m+1的倍数。
【命题3】在巴什博弈中,如果石子数量n%(m + 1)=0 时,后手胜;如果石子数量n%(m + 1)≠0时,先手胜。

【例题】射手博弈

射手A、B、C以抽签的方式决定轮流开枪的顺序并进行决斗,A的命中率为100%,B的命中率为80%,C的命中率为50%。
(1)若按顺序进行且C首先开枪射击,他应该怎样做?
(2)如果按顺序进行射击,证明C存活的可能性最大。
(3)若每一轮开枪的人是任意选择的,证明射手存活的概率与命中率完全相反

【解】
追求的目标一定是两个:首先是考虑保命,然后再考虑射击谁。
(1)若按顺序进行且C首先开枪射击,他应该怎样做?
π A ( A B C ) \pi_A(ABC) πA(ABC)表示三人都活着,且按ABC顺序射击时A存活的概率,其余表示含义类似。
①如果C射击其他人,一定是射击A。(因为首先要考虑保命,所以一定会优先射击那个命中率高的人)
如果C击中A,那么他的支付为 π C ( B C ) \pi_C(BC) πC(BC)
因为在BC这个顺序下C存活的概率取决于B的命中率,如果B把C打中了,那么C存活概率就是0,打所以这种情况下C的存活概率是 4 5 ∗ 0 = 0 \frac{4}{5}*0=0 540=0,如果没有打中的话(概率是 1 5 \frac{1}{5} 51),就该C打B了。
所以有式子: π C ( B C ) = π C ( C B ) / 5 \pi_C(BC)=\pi_C(CB)/5 πC(BC)=πC(CB)/5
π C ( C B ) = 1 2 × 1 + 1 2 × π C ( B C ) = 1 2 × 1 + 1 2 × 1 5 π C ( C B ) \pi_C(C B)=\frac{1}{2} \times 1+\frac{1}{2} \times \pi_C(B C)=\frac{1}{2} \times 1+\frac{1}{2} \times \frac{1}{5} \pi_C(C B) πC(CB)=21×1+21×πC(BC)=21×1+21×51πC(CB)
于是可得:
π C ( C B ) = 5 9 , π C ( B C ) = 1 9 ( C 击中 A , C 存活的概率 ) \pi_C(C B)=\frac{5}{9}, \pi_C(B C)=\frac{1}{9} (C击中A,C存活的概率) πC(CB)=95,πC(BC)=91(C击中AC存活的概率)
没有击中A的情况如②:
②如果C射向空中。显然A将射向B而不是C,并且B将会射向A而不是C。(因为首先要考虑保命,所以一定会优先射击那个命中率高的人)。因而A和B将会互相射击,直到其中一个人出局,接着该轮到C射击了。

若A是A、B互相射击的幸存者,则此时C幸存的概率为 π C ( C A ) = 1 2 \pi_C(CA)=\frac{1}{2} πC(CA)=21
若B是A、B互相射击的幸存者,则此时C幸存的概率是 π C ( C B ) = 5 9 \pi_C(CB)=\frac{5}{9} πC(CB)=95
因为 π C ( C B ) = 5 9 \pi_C(CB)=\frac{5}{9} πC(CB)=95 π C ( C A ) = 1 2 \pi_C(CA)=\frac{1}{2} πC(CA)=21,均大于 π C ( B C ) = 1 9 \pi_C(BC)=\frac{1}{9} πC(BC)=91。所以C射向空中是其最优选择。
(2)如果按顺序进行射击,证明C存活的可能性最大。
证明:①假设A在B之前射击,顺序可能为CAB或ACB或ABC三种可能。
因为C射向空中,A一定确保能干掉B,所以
π C ( C A B ) = π C ( A C B ) = π C ( A B C ) = 1 2 \pi_C(C A B)=\pi_C(A C B)=\pi_C(A B C)=\frac{1}{2} πC(CAB)=πC(ACB)=πC(ABC)=21
于是可得:
π A ( C A B ) = π A ( A C B ) = π A ( A B C ) = 1 2 \pi_A(C A B)=\pi_A(A C B)=\pi_A(A B C)=\frac{1}{2} πA(CAB)=πA(ACB)=πA(ABC)=21
②假设B在A之前射击,顺序为CBA或BCA或BAC三种可能。那么B就会射向A,击中的概率为4/5,因而
π C ( C B A ) = π C ( B C A ) = π C ( B A C ) = 4 5 π C ( C B ) + 1 5 π C ( C A ) = 4 5 × 5 9 + 1 5 × 1 2 = 49 90 \begin{aligned} \pi_C(C B A) & =\pi_C(B C A)=\pi_C(B A C) \\ & =\frac{4}{5} \pi_C(C B)+\frac{1}{5} \pi_C(C A) \\ & =\frac{4}{5} \times \frac{5}{9}+\frac{1}{5} \times \frac{1}{2}=\frac{49}{90} \end{aligned} πC(CBA)=πC(BCA)=πC(BAC)=54πC(CB)+51πC(CA)=54×95+51×21=9049
此外
π A ( C B A ) = π A ( B C A ) = π A ( B A C ) = 4 5 × 0 + 1 5 × 1 2 = 1 10 π B ( C B A ) = 4 5 × 4 9 + 1 5 × 0 = 16 45 \begin{aligned} \pi_A(C B A)=\pi_A(B C A)=\pi_A(B A C)\\ =\frac{4}{5} \times 0+\frac{1}{5} \times \frac{1}{2}=\frac{1}{10} \\ \pi_B(C B A) & =\frac{4}{5} \times \frac{4}{9}+\frac{1}{5} \times 0=\frac{16}{45} \end{aligned} πA(CBA)=πA(BCA)=πA(BAC)=54×0+51×21=101πB(CBA)=54×94+51×0=4516

(3)若每一轮开枪的人是任意选择的,证明存活率与命中率完全相反。
【证明】设 π A [ A ] \pi_A[A] πA[A]表示A开第一枪时A幸存概率, π A \pi_A πA表示A总体幸存概率, π A { A B } \pi_A\left\{AB\right\} πA{AB}表示AB两人谁开第一枪是任意的。其余类似表示。
如果下一轮进行射击的选手任意选择,结果依然是A和B将会互相射击直到两人中只有一人幸存。无论如何,显然C更愿意与B一对一较量而不是与A,所以C有机会射击的话将会射向A。
现在分析两个人的情形:
π A { A B } = 1 2 × 1 + 1 2 × 1 5 π A { A B } π A { A B } = 5 9 , π B { A B } = 4 9 \begin{aligned} & \pi_A\{A B\}=\frac{1}{2} \times 1+\frac{1}{2} \times \frac{1}{5} \pi_A\{A B\} \\ & \pi_A\{A B\}=\frac{5}{9}, \quad \pi_B\{A B\}=\frac{4}{9} \end{aligned} πA{AB}=21×1+21×51πA{AB}πA{AB}=95,πB{AB}=94
以此类推:
π A { A C } = 1 2 × 1 + 1 2 × ( 1 2 × π A { A C } ) \pi_A\{A C\}=\frac{1}{2} \times 1+\frac{1}{2} \times\left(\frac{1}{2} \times \pi_A\{A C\}\right) πA{AC}=21×1+21×(21×πA{AC})
于是有 π A { A C } = 2 3 , π C { A C } = 1 3 \pi_A\{A C\}=\frac{2}{3}, \pi_C\{A C\}=\frac{1}{3} πA{AC}=32,πC{AC}=31
进而有:
π B { B C } = 1 2 × [ 4 5 × 1 + 1 5 π B { B C } ] + 1 2 × 1 2 π B { B C } \pi_B\{B C\}=\frac{1}{2} \times\left[\frac{4}{5} \times 1+\frac{1}{5} \pi_B\{B C\}\right]+\frac{1}{2} \times \frac{1}{2} \pi_B\{B C\} πB{BC}=21×[54×1+51πB{BC}]+21×21πB{BC}
π B { B C } = 8 13 π C { B C } = 5 13 \begin{aligned} & \pi_B\{B C\}=\frac{8}{13} \\ & \pi_C\{B C\}=\frac{5}{13} \end{aligned} πB{BC}=138πC{BC}=135
现在,显然:
π A [ A ] = π A { A C } = 2 3 , π B [ A ] = 0 , π C [ A ] = 1 3 \pi_A[A]=\pi_A\{A C\}=\frac{2}{3}, \pi_B[A]=0, \pi_C[A]=\frac{1}{3} πA[A]=πA{AC}=32,πB[A]=0,πC[A]=31
同样, 容易得到
π B [ B ] = 4 5 π B { B C } + 1 5 π B , π A [ B ] = 1 5 π A π C [ B ] = 4 5 π C { B C } + 1 5 π C  和  π C [ C ] = 1 2 π C { B C } + 1 2 π C , π A [ C ] = 1 2 π A π B [ C ] = 1 2 π B { B C } + 1 2 π B \begin{aligned} & \pi_B[B]=\frac{4}{5} \pi_B\{B C\}+\frac{1}{5} \pi_B, \pi_A[B]=\frac{1}{5} \pi_A \\ & \pi_C[B]=\frac{4}{5} \pi_C\{B C\}+\frac{1}{5} \pi_C \\ & \text { 和 } \pi_C[C]=\frac{1}{2} \pi_C\{B C\}+\frac{1}{2} \pi_C, \pi_A[C]=\frac{1}{2} \pi_A \\ & \pi_B[C]=\frac{1}{2} \pi_B\{B C\}+\frac{1}{2} \pi_B \end{aligned} πB[B]=54πB{BC}+51πB,πA[B]=51πAπC[B]=54πC{BC}+51πC  πC[C]=21πC{BC}+21πC,πA[C]=21πAπB[C]=21πB{BC}+21πB
合并到一起计算,于是得到:
π A = 1 3 [ 2 3 + 1 5 π A + 1 2 π A ] → π A = 20 69 π B = 1 3 [ 0 + 4 5 π B { B C } + 1 5 π B + 1 2 π B { B C } + 1 2 π B ] → π B = 24 69 π C = 1 3 [ 1 3 + 4 5 π C { B C } + 1 5 π C + 1 2 π C { B C } + 1 2 π C ] → π C = 25 69 \begin{aligned} & \pi_A=\frac{1}{3}\left[\frac{2}{3}+\frac{1}{5} \pi_A+\frac{1}{2} \pi_A\right] \rightarrow \pi_A=\frac{20}{69} \\ & \pi_B=\frac{1}{3}\left[0+\frac{4}{5} \pi_B\{B C\}+\frac{1}{5} \pi_B+\frac{1}{2} \pi_B\{B C\}+\frac{1}{2} \pi_B\right] \rightarrow \pi_B=\frac{24}{69} \\ & \pi_C=\frac{1}{3}\left[\frac{1}{3}+\frac{4}{5} \pi_C\{B C\}+\frac{1}{5} \pi_C+\frac{1}{2} \pi_C\{B C\}+\frac{1}{2} \pi_C\right] \rightarrow \pi_C=\frac{25}{69} \end{aligned} πA=31[32+51πA+21πA]πA=6920πB=31[0+54πB{BC}+51πB+21πB{BC}+21πB]πB=6924πC=31[31+54πC{BC}+51πC+21πC{BC}+21πC]πC=6925
于是有
π C > π B > π A \pi_C>\pi_B>\pi_A πC>πB>πA
得证。
(视频是2.23第一节)

博弈论的基本概念:

博弈论的基本概念:参与人、战略、行动、信息、支付函数、均衡结果等。

  • 要素(PAPI):博弈主体(参与人)、战略(行动)、支付、信息。
  • 规则:参与人、行动次序、均衡结果。

参与人

独立决策、独立行动并承担结果的个人或组织。
“自然”:“虚拟参与人”
根据参与人数分:

  • 单人博弈
  • 两人博弈
  • 多人博弈

战略

行动

信息

支付函数

【例题】分100元

两个人各报一个至多为100的非负整数。若所报的数字之和不超过100,则每人得到所报的钱数(多余的钱充公)﹔若两人所报的数字之和超过100且数目不同,则报较小数的人得到白己所报的钱数,而另一个人则得到剩余的钱;若两人所报的数字之和超过100且数目相同,则每个人得到50元。

【解】博弈三要素:
参与人集合: N = { 1 , 2 } N=\left\{1,2\right\} N={1,2}
战略集合: S t = { 0 , 1 , 2... , 100 } , t = 1 , 2 S_t=\left\{0,1,2...,100\right\},t=1,2 St={0,1,2...,100},t=1,2
参与人 i i i的支付:
u i = { s i  当  s i + s j ≤ 100 ( i , j = 1  或  2 ) s i  当  s i + s j > 100 ,  且  s i < s j 100 − s j  当  s i + s j > 100 ,  且  s i > s j 50  当  s i + s j > 100 ,  且  s i = s j u_i= \begin{cases}s_i & \text { 当 } s_i+s_j \leq 100(i, j=1 \text { 或 } 2) \\ s_i & \text { 当 } s_i+s_j>100, \text { 且 } s_i<s_j \\ 100-s_j & \text { 当 } s_i+s_j>100, \text { 且 } s_i>s_j \\ 50 & \text { 当 } s_i+s_j>100, \text { 且 } s_i=s_j\end{cases} ui= sisi100sj50  si+sj100(i,j=1  2)  si+sj>100,  si<sj  si+sj>100,  si>sj  si+sj>100,  si=sj

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

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

相关文章

【JUC基础】01. 初步认识JUC

目录 1、前言 2、什么是JUC 3、并行和并发 4、进程和线程 5、如何创建子线程 5.1、继承Thread 5.2、实现Runnable 5.3、实现Callable 5.4、小结 6、Thread和Runnable 7、Runnable和Callable 8、线程状态 9、总结 1、前言 前段时间&#xff0c;有朋友跟我说&#…

(7) 支持向量机(上)

文章目录 1 概述1.1 支持向量机分类器是如何工作的 2 sklearn.svm.SVC2.1 线性SVM决策过程的可视化2.2 重要参数kernel&#xff08;核函数&#xff09;2.3 探索核函数在不同数据集上的表现2.4 探索核函数的优势和缺陷2.5 选取与核函数相关的参数&#xff1a;degree & gamma…

【Java笔试强训 27】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525; 不用加…

VSCode下载、安装和简单配置

之前提到Python IDE的选择时&#xff0c;VSCode以其轻便、简洁、高效、专业等优点成为最适合做Python工程项目开发的IDE&#xff0c;本期就来详细讲解一下VSCode的一个下载、安装以及Python开发环境的配置。 一、下载 直接进入VSCode官网&#xff0c;选择对应系统版本的VSCod…

切片、索引和排序

关于使用Series切片带尾片的疑惑。 切片是数字的时候不带尾片 切片非数字时带尾片 索引 可以使用loc()和iloc()选择数据。轴标签(loc())&#xff0c;整数标签(iloc())。 # 第一行列名为’A‘&#xff0c;’B‘的行。 print( df.loc[1, [A, B]])# [0, 1)的列为 [B(1), A(0…

默认成员函数:详解类的隐式操作

目录 一.类的默认成员函数二.构造函数三.析构函数。四.拷贝构造函数五.赋值运算符重载 一.类的默认成员函数 类的默认成员函数就是定义一个类后&#xff0c;类会自动生成的成员函数&#xff0c;若我们显示定义则类不会自动生成。 二.构造函数 在数据结构学习阶段我们手撕过栈…

VC++ | MFC应用程序设计:框架搭建

VC | MFC应用程序设计&#xff1a;框架搭建 时间&#xff1a;2023-05-01 文章目录 VC | MFC应用程序设计&#xff1a;框架搭建1.启动程序2.新建项目2-1.新建项目2-2.应用程序类型2-3.文档模板属性2-4.用户界面功能2-5.高级功能选项2-6.生成的类2-7.解决方案资源管理器 3.工程文…

如何在外远程控制我的世界服务器 - MCSM面板【端口映射】

文章目录 概述1.MCSManager 安装2.内网穿透2.1 安装cpolar内网穿透 3. 访问公网地址4.固定公网地址4.1 保留一个二级子域名4.2 配置固定二级域名4.3 访问固定公网地址 5. 设置节点公网地址6. 固定节点公网地址6.1 保留一个固定tcp地址6.2 配置固定TCP地址 转载自远程穿透文章&a…

【Latex】有关于Latex tabularray的一些很不错的教程、模板

1. 简介&#xff1a; 除了大家熟知的tabular&#xff0c;Latex在2021年出了一个table排版的新包&#xff1a;tabularray。 笔者这几天初步体验了一下tabularray&#xff0c;个人觉得tabularray明显比tabular的使用体感好不少。 不管是从排版的效果、便捷程度&#xff0c;还是…

基于NumPy构建LSTM模块并进行实例应用(附代码)

文章目录 0. 前言0.1 读本文前的必备知识 1. LSTM架构2. LSTM正向传播代码实现2.1 隐藏层正向传播2.2 输出层正向传播 3. LSTM反向传播代码实现3.1 输出层反向传播3.2 隐藏层反向传播 4. 实例应用说明5. 运行结果6. 后记6 完整代码 0. 前言 按照国际惯例&#xff0c;首先声明&a…

目标跟踪--卡尔曼滤波 与 匈牙利算法

目前主流的目标跟踪算法都是基于Tracking-by-Detecton策略&#xff0c;即基于目标检测的结果来进行目标跟踪。 跟踪结果中&#xff0c;每个bbox左上角的数字是用来标识某个人的唯一ID号。那么问题就来了&#xff0c;视频中不同时刻的同一个人&#xff0c;位置发生了变化&#x…

西瓜书读书笔记整理(三)—— 第二章 模型评估与选择

第二章 模型评估与选择 第 2 章 模型评估与选择2.1 经验误差与过拟合1. 错误率 / 精度 / 误差2. 训练误差 / 经验误差 / 泛化误差3. 过拟合 / 欠拟合4. 学习能力5. 模型选择 2.2 评估方法1. 评估方法概述2. 留出法3. 交叉验证法4. 自助法5. 调参 / 最终模型 2.3 性能度量1. 回归…

【JavaEE】UDP数据报套接字—实现回显服务器(网络编程)

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 本篇文章将带你了解什么是网络编程&#xff1f; 网络编程&#xff0c;指网络上的主机&#xff0c;通过不同的进程&#xff0c;以编程的方式实现网络通信&#xff08;或称为网络数据传输&am…

中断-STM32

中断-STM32 中断:在主程序运行过程中&#xff0c;出现了特定的中断触发条件 (中断源)&#xff0c;使得CPU暂停当前正在运行的程序转而去处理中断程序处理完成后又返回原来被暂停的位置继续运行。 中断优先级:当有多个中断源同时申请中断时&#xff0c;CPU会根据中断源的轻重缓…

Java程序猿搬砖笔记(十一)

文章目录 Hexo博客 Next主题图片防盗链问题Springboot Druid数据库密码加密配置步骤Java统计字符串出现的次数Java获取某个字符在字符串中出现第N次的位置Maven激活指定profileMaven中resources标签的用法详解MySQL 字符集不一致报错EasyExcel日期格式化Configuration、Compone…

gradle Task 详解

Task定义和配置 查看工程下所有的task&#xff0c;使用如下命令 gradle tasks 定义一个task task创建的源码 参数分别是 task 名称&#xff0c;和一个 closure。groovy语法的closure可以写在小括号外面&#xff0c;小括号可以省略 task的源码 public interface Task extends…

【Java笔试强训 25】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525;星际密码…

RabbitMQ死信队列延迟交换机

RabbitMQ死信队列&延迟交换机 1.什么是死信 死信&死信队列 死信队列的应用&#xff1a; 基于死信队列在队列消息已满的情况下&#xff0c;消息也不会丢失实现延迟消费的效果。比如&#xff1a;下订单时&#xff0c;有15分钟的付款时间 2. 实现死信队列 2.1 准备E…

网络编程代码实例:IO复用版

文章目录 前言代码仓库内容代码&#xff08;有详细注释&#xff09;server.cclient_select.cclient_poll.cclient_epoll.c 结果总结参考资料作者的话 前言 网络编程代码实例&#xff1a;IO复用版。 代码仓库 yezhening/Environment-and-network-programming-examples: 环境和…

[Linux]网络连接、资源共享

​⭐作者介绍&#xff1a;大二本科网络工程专业在读&#xff0c;持续学习Java&#xff0c;输出优质文章 ⭐作者主页&#xff1a;逐梦苍穹 ⭐所属专栏&#xff1a;Linux基础操作。本文主要是分享一些Linux系统常用操作&#xff0c;内容主要来源是学校作业&#xff0c;分享出来的…