読書会(The Art of Multiprocessor Programming)第6回議事録

[ 戻る ]


Java読書会「The Art of Multiprocessor Programming」を読む会(第6回)議事録

日時:2011年1月22日(土) 10:00-17:00
場所:てくのかわさき 第5研修室
出席者:遠藤、石黒、吉本、村山、小棚木、松永、門脇、高橋(智)、高橋(徹)(記)

p.321から

Figure 13.2 27行目
同一アイテムを2回 add した場合、追加されてしまう。
本文 p.330下から6行目に「バケットへのアイテム追加には、リンクリストのトラバースが必要」とあるが、コードにはその処理が抜けている。

Figure 13.4 19、20行目
この順番でないとだめか?
 → 効率上。Figure 13.2の32、33行目でロックの外から呼んでいる。

◯宿題
 コンストラクタ内で初期化するフィールドは、その後別スレッドが実行するインスタンスメソッド内で無条件に可視であるか?

p.334 9行目
「resize()へのネストされた呼び出しが開始される」とは?


「initializeFrom()メソッド」とあるがコードにはない。
 → オンラインのサンプルコードにはある。Figure 13.7の30-34行目がinitalizeFrom()メソッドに切り出されている。

Figure 13.7の32行目のadd対象はArrayList

p.340 下から1行目
「すでに述べたように...Nは常に2の累乗である」で、なぜ2の累乗か?
 → たまたま、2倍にするアルゴリズムをこの本で使っていたからでは。

p.343 下から1行目
「BucketList<T>の末尾を返す」
 → 最後端のことではないよね。

Figure 13.20 の最後の1文
「再帰シーケンスの想定される長さが一定」
および、p.347 1行目
「再帰シーケンスの想定サイズは一定」
とあるが、何故?

Figure 13.21 13行目
return add(x); の誤記ではないか?

Figure 13.32 39、40行目
抜けがあるのでは?

Figre 13.30 42行目とFigure 13.33 68行目
add()を呼び出しているが、release()中にaddして安全か?
addの中でresizeする可能性がある。

Figure 14.3 (b)の図
fullyLinked のところは間違いではないか? (a)と同一になっている。

p.368 下から2行目
「add()呼び出しは false を呼び出す」とあるが、continueではないか?

Figure 14.7 105行目
victim.topLevel == lFound は必要か?
 → 127行目〜 で必要になるのでは?
 → 114行目で victim.marked = true しているので不要では?
 
以上

次回は、p.375 14.4.2より


[ 戻る ]