死鎖
實際操作時, 多線程中死鎖並不多見,但我們必須明白死鎖是怎麼回事,以後儘量避免,在這裏,我還是用一個比喻例子來說明:有一雙筷子。兩個人,分別是小明,小強,他們一人一支筷子。然後要進餐了,小明拿着一支向小強要另一支,小強拿着一支要小明的他那一支,結果就會出現兩種情況,1 小強把他那支給小明,小明吃了一口,然後又讓小強吃,這是和諧情況。2 他們互不相讓,都吃不到, 餓死。
從而總結誒死鎖的必要條件是不放棄已有的鎖,而同時申請新鎖。所以,要想實現死鎖,就會有synchronized的嵌套。
代碼體現: