[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12576] List10-4 の DemonstrateDeadlock 実行結果



高橋(徹)です。

昨日読書会の宿題事項、デッドロックのデモプログラムを実行すると
どれくらいで発生するだろうか?
確認してみました。

ノートPC(CPU:Pentium M, OS:WindowsXP, JDK 6 RC版)でも2,3秒と経たずに
デッドロックに陥りました。
(デュアルコアのAthlon 64 X2だと1秒経たずという感じ)

デッドロックが起きたか見えるように、transferMoneyメソッドを1回実行する
毎に、. を1つ表示するようにしています。

デッドロック状態になったら、Ctrl-Break(Windowsの場合)か、JDK 6なら
jconsoleを実行してスレッドタブを選択し、画面下の[デッドロックを検出する]
ボタンを押すと、JVMがデッドロックを検知したことが分かります。

jconsoleはJ2SE 5(Tiger)から含まれるツールですが、Tigerの場合jconsoleで
接続するにはコマンドラインオプションを追加指定するのが面倒でしたが、
JDK 6では指定が不要になったのでとっても楽です。


--
TAKAHASHI,Toru
torutk@xxxxxxxxxxxx

Attachment: deadlockDemo.lzh
Description: Binary data