こんにちは。エンジニアのrs_shoです。 投稿は4回目になります。今回は排他制御についてお話ししようと思います。 はじめに 排他制御の種類 楽観ロック(楽観的排他制御) 悲観ロック(悲観的排他制御) それぞれの特徴 Javaにおける排他制御 Semaphore CountDownLatch synchronizedメソッド データベースのLOCK おわりに 参考資料 はじめに そもそも排他制御とは何か、ご存じでしょうか。 排他制御とは、簡単に言うと、処理Aをしている間、他の処理は処理Aが終わるまで待つ、という制御のことです。 身近な例えで言うと、共有フォルダにあるExcelなどを誰かが開いて編集している間、 他の人は閲覧のみ可能で編集は不可の状態(設定によってはできますが…)のことです。 排他制御の種類 排他制御はただ処理待ちをするだけではなく、大きく分けて2つ種類があります。(厳密には