用Netbeans Debug工具來測試DeadLock (Java SE)
在實作多執行緒控管的程式時,最擔心的就是出現Dead Lock了。下一期將特別示範可能會發生DeadLock的程式(如圖說明)。上述圖表說明的MyThread類別繼承了Thread類別,並在run方法中實作了執行緒要運作的程式。在這段run方法中間接的出現了巢狀的synhronized區塊。首先run方法呼叫doSomething1()時進入第一個synchronized區塊並在此鎖定myLock1物件,再輸出一行字串後,doSomething1()又呼叫了doSomething2().......... more
|