什么是死锁(死锁的理解)

多线程和锁

多线程和锁作为并发编程的两个重要概念,在提升了程序性能的同时,也带来了一些编码的复杂性。锁的出现就是为了保证在多线程的时候操作一组资源数据的一致性,我们在给资源加上锁之后,只有拥有了这个锁的线程才能操作此资源,其余的线程只能排队。

举个例子:例如你去换衣间试衣服,你进去了把门锁上,那么在这期间谁都无法进入,等你开门出来,别人才能进入。

什么是死锁

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

通俗点说:死锁就是两个线程同时占用两个资源,但又在彼此等待对方释放锁。
在这里插入图片描述

  • 9
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值