死锁!图解死锁到底是什么!

世间死锁万万千,都离不开其本质:资源争夺

资源争夺与死锁

如下图所示,有进程1和进程2,他们的执行都同时需要资源1和资源2。

现在,进程1已经拥有了资源1,还需要资源2,它在痴痴地等待资源2被释放,如果资源2不被释放,他就一直持有资源1并一直等待资源2.

进程2已经拥有了资源2,还需要资源1,它在痴痴地等待资源1被释放,如果资源1不被释放,它就会一直持有资源2并一直等待资源1.

我想聪明的盲生你应该已经发现了华点。它们要释放持有的资源,就必须要得到对方的资源;但是要得到对方的资源,就必须释放自己持有的资源供对方使用。但是它们是进程,不会懂得谦让,它们只会等待对方释放资源,而不会自己释放资源。

这样,两个进程就会一直等待资源,资源也一直不会被释放,这就是死锁!!!!
在这里插入图片描述

理解死锁举例

如果你还是觉得用进程和资源来讲过于抽象,那我就来举个例子,如下图。

小明和小红两个人看做是两个进程。他们都要吃饭了,而吃饭同时需要筷子和碗这两个资源。

现在的情况是,小明拿着筷子,他需要碗,他如果拿不到碗吃饭,他就一直拿着筷子等碗;
小红拿着碗,他需要筷子,他如果拿不到筷子吃饭,他就一直拿着碗等筷子。

看到这里,你有没有恍然大悟,如同梦中惊醒?!!

没有?
亲,我介意你再看一遍。。。

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值