死锁(deadlock) 指的是两个或者两个以上的进程相互竞争系统资源,导致进程永久阻塞。 例如: 1、桌子上有慢慢一桌子的美食,但是只有一双筷子。 2、甲拿了一根,然后在找另一根。 3、乙拿了一根,然后也在找另一根。 4、因为他们都掌握了对方必需的资源,导致最后他们俩谁都吃不到美食。 饥饿(starvation) 指的是等待时间已经影响到进程运行,此时成为饥饿现象。如果等待时间过长,导致进程使命已经没有意义时,称之为“饿死”。 例如: 1、小明要告诉妈妈明天开家长会。 2、小明妈妈因为工作太忙,在公司加班,没有回家。 3、于是第二天,小明的妈妈就错过了家长会。(“饿死”) 4、其实小明的妈妈没有出现“死锁”。只是小明的优先级过低,不如工作重要。