微信号:kaoyanziyuan
饥饿和死锁的区别?
首先死锁是同步的,饥饿是异步的。也就是说,死锁可以认为是两个线程或进程同时在请求对方占有的资源,饥饿可以认为是一个线程或是进程在无限的等待其他的线程或进程占有的资源。
介绍“死锁”的例子:如果线程A锁住了记录R1并等待记录R2,而线程B锁住了记录R2并等待记录R1,这样两个线程A和B就发生了死锁现象。
介绍饥饿的例子:资源在其中两个或以上线程或进程相互使用,第三方线程或进程始终得不到。想像一下三个人传球,其中两个人传来传去,第三个人始终得不到。