質問: synchronizedとReentrantLockの使いわけがいまいちわからないため、質問です。 どちらもロックオブジェクトを取得、開放できて、ロックオブジェクトを取得するまでは特定の処理を実行できないということまではなんと無くわかるのですが、両者とも同じならば、どう使い分けるのが適切でしょうか。
回答: 単なる引用になりますが、下記記事の最後の方に、 「どういう場合にsynchronizedではなくReentrantLockを選択すべきなのか」 という項がありますので、そちらが参考になるかと思います。 Javaの理論と実践: JDK 5.0における、より柔軟でスケーラブルなロック