public class deadlock catch (interruptedexception e)
}synchronized(resource2)}};
thread thread2 = new thread() catch (interruptedexception e)
}synchronized(resource1)}};
thread1.start();
system.out.println("執行緒一執行中....");
thread2.start();
system.out.println("執行緒二執行中....");
}
}
上邊的例子是不構成死鎖的,因為執行順序的先後總是有誤差的, 但是我的大體的理解就是那樣 synchronized關鍵字就是說「占用某個資源並給他上鎖」。
就好一兩個人a有蘋果,b柚子,但是a想吃柚子,b想吃蘋果,a就說了,你先給我柚子我就給你蘋果,b同時也說,你先給我蘋果我再給你柚子,結果兩個人誰也不讓步,就僵持在那裡。
Java 死鎖的簡單例項
雖然網上有各種關於死鎖的說法,但是卻沒有乙個實際的案例來闡述這個死鎖到底是什麼樣的 那麼這裡有乙個簡單的死鎖例項 執行緒t1需要先使用掃瞄器掃瞄檔案 再使用印表機列印檔案,之後工作完畢 執行緒t2需要先使用印表機列印檔案 再使用掃瞄器掃瞄檔案,之後工作完畢 如果是正常的工作秩序,那應該是t1先擁有掃...
簡單理解mysql InnoDB的死鎖問題
mysql三種鎖的級別 行級鎖 開銷大,加鎖慢 會出現死鎖 鎖定粒度最小,發生鎖衝突的概率最低,併發度也最高 表級鎖 開銷小,加鎖快 不會出現死鎖 鎖定粒度大,發生鎖衝突的概率最高,併發度最低 頁面鎖 開銷和加鎖時間界於表鎖和行鎖之間 會出現死鎖 鎖定粒度界於表鎖和行鎖之間,併發度一般 資料庫儲存引...
java多型的簡單理解
多型 某乙個 物件 事物在不同時刻表現出來的不同狀態 舉例 1.貓可以是貓的型別,貓 m new 貓 2.同時貓也是動物的一種 也可以把貓稱為動物 動物 d new 貓 再舉乙個例子 水在不同時刻的狀態 水 液體,固體,氣態 多型的前提 1,要有繼承關係 2.要有方法重寫 其實沒有也是可以的,但是如...