2.5 Liveness and performance

  • synchronizedブロックの中でアトミック変数を使用する必要はない。

しばしば、ロジックの単純さとパフォーマンスの間での衝突が起こる。
同期化機構を実装するとき、パフォーマンスのために簡潔さ(潜在的な安全への妥協)を
犠牲にする誘惑に耐えてください。

  • ロックを使用するときは、その該当ロジックがどれくらいの実行時間がかかるのか知っておく必要がある。

長ったらしい計算やネットワークやコンソールIOのようなすぐには終了しない
リスクがあるオペレーションの間にロックを保持させることは避けておけ!

http://www-06.ibm.com/jp/developerworks/java/020726/j_j-dcl.html