Laplace
lapla****@csc*****
2003年 5月 26日 (月) 21:40:33 JST
laplaceです。 # 地震大丈夫でしたか? > 分散サーバのShutdownHookですが、 > よく考えるとどう書いていいかわかりませんね。 たしかに難しいですよ。 ShutdownHook機能があるということで、追加しましたが、 当時はかなり悩みました。 どのようにしても、完全に送信できるパターンが なかったような記憶があります。 で、通信に使うオブジェクトでブロックすれば なんとかなるやろって感じで、synchronizedをつけましたが、 特殊なタイミングでは、どのように動くのか想像できません。 デッドロックっぽいのが発生するかよくわかりません。 > Ctrl+Cで止めたとき、メインスレッドがsynchronizedセクションにいても > 強制的に止められてしまうと考えると、 > (この考え方が合っているのか分からないんですが) > せっかくsynchronizedセクションで囲っていても、 > データが不整合状態になりえるからです。 データの不整合ってどんなパターンですか? > SwingアプリでShutdownHookを使って、 > 編集中のデータを保存しますか?なんていうダイアログを出すアプリを > 作ったことがあるんですが、 APIを見る限りでは、長時間ブロックや、 ユーザとの対話処理はお勧めできないと書いてますよ。 どうなるのかまで書いてないのが問題ですなぁ。 > んー、謎。 > とりあえず謎なまま実装しておいて、 > のちのちGUIアプリにしちゃってjavawで起動してCtrl+Cなんか > 受け付けないようにしちゃいますか。 > 分散サーバプログラムの自動アップデータとか作りたいしなー。 GUIは賛成ですが、今度はServer.javaをThreadにしないと いけなくなって、余計に複雑なような感じだったのですが どうなんでしょう? ServerGUIはそれがわからなくって、途中になったままです(^^;;;