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

[jfriends-ml 1497] Re: Java スレッドプ ログラミングを読む会第 2 回議事録



澤田です。議事録ありがとうございました。


On Sun, 17 Dec 2000 08:07:08 +0900
in [jfriends-ml 1492] Java スレッドプログラミングを読む会第 2 回議事録
"TAKEKAWA, Tsutomu" <takekawa@xxxxxxxxxxxxxx> wrote:

> はじめまして。
> Java スレッドプログラミングを読む会第 2 回で書記をした武川です。



> ◇boudedbufferとはなにか?
>  有限バッファのことではないか。

BoundedBuffer については 3.3.1.1(p.227) に interface がありました。



> 1.4.2 アダプター
> 
> ◇P69 コメント finally 句の中の事後チェック....の意味がよくわからない。
>  オブジェクトとして異常になるのと、オーバーフローとアンダーフローは区別必要
> がある。
>  catchをそこに書く理由がよくわからない。→作法か?
>  実際にコードを考えてみる。宿題2。

指摘されてみると(そういうところは読み飛ばしちゃってるな>私)、
確かに不思議なコードですね。

・catch されるかどうかに関わらず、finally 句は実行されるはず。
・finally 句の中で例外が throw されたら、必ずそれに変わってしまうはず。

何かとんでもない勘違いをしていたらやだなぁ。


> ◇getCapacity が syncronizedしていないのはなぜ?
>  delegate のコードが同期されていないならば、干渉が起こるではないか?

delegate 側の同期が必要なら delegate 側でやっている(やるべき)、
というだけのことではないでしょうか?


> 2.1.2 生成
> ◇コンストラクタが初期化に関連した処理以外を行なった場合に困る例は?

 class Base {
   public Base(AnyObjectManager manager) {
     // いろいろ初期化
     ...;
     // 完了したから登録だ!
     manager.add(this);
   }
 }

 こういうのもまずい、のだと思いました。コンストラクタの最後だから
大丈夫なようですが、このクラスが継承されたら駄目になりますよね。
登録した途端、派生クラス側の初期化コードが実行される前に、
別スレッドがこのオブジェクトにアクセスするかもしれない。


___
澤田 大輔(die)
email: die@xxxxxxxx(home), swd@xxxxxxxxxxxxxxxx(office)
「積読」 http://www.techbrains.co.jp/~swd/book/