notify導致的問題應該不叫死鎖,死鎖起碼得有兩把鎖把,很多人舉的例子都是一把鎖的,而且代碼好亂。
我舉個例子說一下所謂的notify可能會導致的”死鎖“:
》現在有10個人負責做蛋糕,而只有2個人負責吃蛋糕;其中4個做蛋糕的人由於之前裝蛋糕的容器滿了,一直在等待區里沒被通知過,后來2個吃蛋糕的人一次性吃的蛋糕太多了,另6個做蛋糕的人做的速度沒他們2個吃的塊,很快蛋糕就沒有了,也在等待區等通知,6個做蛋糕的人輪流做蛋糕又有蛋糕了,依次通知等待區的人,但運氣非常的不好,每次通知的都是做蛋糕的,蛋糕容器很快就滿了,逐漸的全部做蛋糕的人都在等待區里,2個負責吃蛋糕也在等待區;
這時候整個程序相當掛在那了,沒人做蛋糕,沒人吃蛋糕。