通信のためのメインループと、GUIが両方あるのは、ちょっと面倒くさいです。
Eclipse は、syncExec とか言うAPIがあるんだが、自分で作ったGUIだと忘れるらしい。
メインループ側とGUI側で、何が共有されているかをはっきりさせて、その部分で、細かく lock を取る方が合理的だと思うんだが... 両方が channel を共有していて、両方がchannel 経由でネットワークに書くとかいう状況だと、ちゃんと動く自信がないです。そのあたりしっかりしてくれよ。やっぱり、送信を担当するオブジェクトを作って、そこで synchronized するんだろうなぁ。
複数のユーザの編集結果を調停する merge のアルゴリズムも、いろいろ問題があるらしい。
No comments:
Post a Comment