黑马程序员技术交流社区

标题: 什么叫做死锁 [打印本页]

作者: 刘文文    时间: 2015-9-23 21:13
标题: 什么叫做死锁
什么叫做死锁
作者: 信仰年轻    时间: 2015-9-23 21:16
死锁就是 可以这么理解  就是俩线程互相拿个锁 但是互相又需要对方的锁  谁也不给对方   然后就锁上了
作者: iceknc    时间: 2015-9-23 21:18
你要的东西在我手上,我要的东西在你手上,然后我两谈判谈崩了,谁都得不到各自想要的东西
作者: xuxu5112    时间: 2015-9-23 21:27
本帖最后由 xuxu5112 于 2015-9-23 21:35 编辑

今天刚学 我是这么理解的  一把锁对应 一把钥匙
CUP会在多个线程之间高效的切换
现在有AB两个线程
A里面 有 A锁 嵌套 B锁
B里面 有 B锁 嵌套 A锁

现在A开始执行 看到A锁就拿到了 A钥匙  执行到这里
B抢到了CPU资源 开始执行 看到B锁就拿了B钥匙 继续执行
下面看到A锁 但是 A钥匙在 A线程里 所有B线程拿不到然后程序回到 A线程 继续执行 看到B锁 需要B钥匙 但是B钥匙在B线程里
A线程也拿不到 然后程序就在A,B两个线程之间切换谁都没办法执行下去 形成死锁





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2