Effective java 3版 読書会 20日目

実施日時:2019/6/20 22:00~23:00
対象範囲:項目81~項目82
参加者:yodai、yoridori、kassyi
形式:オンライン(discord)
   課題本を事前に読み、実業務と照らし合わせて記述内容の
   議論をする。

項目81 waitとnotifyよりも並行処理ユーティリティを選ぶ
waitとnotifyを使うよりCountDownLatchを使う方が簡単
スレッドを生成する数とカウントダウンをする数を合わせないと、処理が完了しない。
P327にsystem.currentTimeMillisではなくSystem.nanoTimeを使用するべきとの記述が有る。
waitメソッドを呼び出すには、必ずwaitループイデオムを使用する
notifyAllはすべての待ちスレッドを起こすので、起こす必要が有るスレッドを起こす。
スレッドを大量に作る恐れは、スレッドプールを作って実行する方法が有る。

項目82 スレッド安全性を文書化する
文書化においては、どうやってロックを掛ける必要があるかを文書化する
サービス拒否攻撃を阻止するためには、プライベートロックオブジェクトを使用できる
⇒synchronizedの引数に該当のオブジェクトを入れる。
JavaDockを確認して、スレッドセーフかを確認する

協力:Tech Baton
https://tech-baton.studio.design/

この記事が気に入ったらサポートをしてみませんか?