就會死鎖發生在這些Java情況
1-會在這些情況下發生死鎖嗎?
synchronized(obj) {
obj.syncMethod(); // the method signature: public synchronized void syncMethod() {...}
}
2-
synchronized(obj) {
if (condition)
throw new Exception(); // deadlock because obj lock is not released?
// do other stuff
}
謝謝。
我沒有使用同步方法的經驗,但看起來很愚蠢,因爲拋出異常並且方法的執行因此異常終止而發生死鎖。而且,如果是這種情況,您可以在那裏捕捉任何異常,解鎖對象並拋出新的異常。 – MarioDS 2012-04-11 23:01:03
你爲什麼不測試你的代碼並找出答案? – 2012-04-12 00:54:54