死锁
A B死对头接项目干活,却互相占有需要的工具,此工具唯一,倚天剑屠龙刀,都不撒手,都不想让,那你我都睡大觉,谁也别干。等对方啥时候撒手了,再让中介去通知把我叫醒,工具到了再干活。
这是属于二人家里有矿,没工具没法赚钱那就回家养老的情况。
总结: 线程一直阻塞,不会被唤醒。
活锁
A B死对头接项目干活,却互相占有需要的工具,此工具可能不唯一,可能别人比如C也有,都不撒手,都不想让,重点来了,么工具咋干活,干不了我就装模做样干白活,一边假装干活一边和对面火拼要工具并且势均力敌,相持不下(但聪明的他们也会找别人要)。
在别人一直不给工具的情况下,A B横竖要不来,很着急:虽然可以干白活,但是没进度咋领工资?于是睡觉就成了问题,开始24小时为了老板的项目想办法。
这是属于二人想尽各种办法可是项目毫无进展的可怜打工人情况。
可是突然有一天贵人C将工具贡献出来了,那A B就终于可以推进项目了。
总结: 线程切换各种状态想取得资源可是仍然获得不到,最后进行不下去。但是有几率解锁哦。
声明
在粗略了解操作系统基础的时候在活锁,死锁的理解上卡住了。
查了一圈暂且这么理解了。
不知道对不对。
理解有误的话希望大家可以给我指正,求大佬们指教。