进程的活锁、死锁、饥饿和阻塞

死锁:


解释: 线程A或者B需要过独木桥(使用该进程),而C还没有走完(进程还在占用),于是三方僵死;
         也可以是没有C 的情况下,A和B互不礼让僵死.
         A和B都认为自己优先级较高应该使用该进程.
活锁:

解释:线程A和B都需要过桥(都需要使用进程),而都礼让不走(那到的系统优先级相同,都认为不是自己优先级高),就这么僵持下去.

饿死:

解释:这是个独木桥(单进程),桥上只能走一个人,B来到时A在桥上,B等待;
        而此时比B年龄小的C来了,B让C现行(A走完后系统把进程分给了C),
        C上桥后,D又来了,B又让D现行(C走完后系统把进程分个了D)
        以此类推B一直是等待状态.

阻塞:

解释:所有的进程都在睁着过独木桥,结果一直处在争执的状态

感谢博主:http://f.dataguru.cn/thread-541686-1-1.html

同样参考自博主的另一篇文章:https://blog.csdn.net/qq_29924795/article/details/72772251

猜你喜欢

转载自blog.csdn.net/eacxzm/article/details/82789375