死锁是什么

并发程序里说的死锁,指的是【0】。

开始练习 →

四条件之互斥

死锁四个必要条件里的互斥,说的是【0】。 死锁的四个必要条件(CONDS):互斥、持有并等待、不可抢占、循环等待——四条同时满足才可能死锁,破掉任一条就能避免。breaks(手段) 交回某避免手段打破的是哪一条。

开始练习 →

四条件之持有并等待

四个条件里的持有并等待,说的是【0】。 死锁的四个必要条件(CONDS):互斥、持有并等待、不可抢占、循环等待——四条同时满足才可能死锁,破掉任一条就能避免。breaks(手段) 交回某避免手段打破的是哪一条。

开始练习 →

四条件之循环等待

四个条件里的循环等待,说的是【0】。 死锁的四个必要条件(CONDS):互斥、持有并等待、不可抢占、循环等待——四条同时满足才可能死锁,破掉任一条就能避免。breaks(手段) 交回某避免手段打破的是哪一条。

开始练习 →

四条件的关系

关于死锁的四个必要条件,正确的是【0】。 死锁的四个必要条件(CONDS):互斥、持有并等待、不可抢占、循环等待——四条同时满足才可能死锁,破掉任一条就能避免。breaks(手段) 交回某避免手段打破的是哪一条。

开始练习 →

这一局死锁了吗

按等待图:A 占 L1 想要 L2、B 占 L2 想要 L1,deadlocked 交回什么? 贯穿本节的等待图模型(判题机不靠时序,这是死锁的确定模型):holds={锁: 持有它的线程}、wants={线程: 想要的锁}。想要的锁被别人

开始练习 →

怎么造一个死锁

各攥一把、又都伸手够对方那把 连成一圈,两边都定住 要稳定复现一个两线程死锁,做法是【0】。 贯穿本节的等待图模型(判题机不靠时序,这是死锁的确定模型):holds={锁: 持有它的线程}、wants={线程: 想要的锁}。想要的锁被别人占

开始练习 →

死锁时线程什么样

各攥一把、又都伸手够对方那把 连成一圈,两边都定住 真死锁发生时,那些线程的状态是【0】。 贯穿本节的等待图模型(判题机不靠时序,这是死锁的确定模型):holds={锁: 持有它的线程}、wants={线程: 想要的锁}。想要的锁被别人占着

开始练习 →

为什么反序加锁危险

两处代码用相反的顺序去拿同两把锁,危险在于【0】。 贯穿本节的等待图模型(判题机不靠时序,这是死锁的确定模型):holds={锁: 持有它的线程}、wants={线程: 想要的锁}。想要的锁被别人占着就连一条等待边。waitfor 交回等待

开始练习 →

死锁的必要前提

上面两线程真卡住,必要前提是【0】。 贯穿本节的等待图模型(判题机不靠时序,这是死锁的确定模型):holds={锁: 持有它的线程}、wants={线程: 想要的锁}。想要的锁被别人占着就连一条等待边。waitfor 交回等待边 {等的人:

开始练习 →