ロックある対象に「鍵」を掛けることで、他が使用できない状態にすること。複数のスレッドやアプリケーションが同時にひとつの処理対象にアクセスする場合、一連の処理が完了するまで、他のスレッドやアプリケーションに邪魔されたくない場合にロックを掛ける。すると、他のスレッドやアプリケーションはアクセス時に一時停止するかエラーとなるため、先に処理を開始した側が安全に処理を完了させることができる。マルチスレッドにおいては、同時に複数のスレッドがひとつのインスタンスにアクセスする場合に、同期を取るための「手段」として、synchronizedブロックもしくはsynchronizedメソッドを用いてロックを掛ける。インスタンスにロックを掛けることで、あるスレッドがそのインスタンスへの処理を完了するまでは、他のインスタンスが処理を行えないようにする。アプリケーション単位でもロックを行うことがある。アプリケーションサーバーのように「複数のアプリケーションが起動されてはいけない」場合、「ロック用のファイル」を用意し、起動時にロックが掛かっているか確認し、掛かっていなければファイルにロックを掛け、掛かっていれば何もせずに終了する。このように、ロックを掛ける対象が、必ずしも「処理の対象」とは限らない点に注意。そのため、ロックは、同期や排他の「手段のひとつ」であり、フラグを使用する場合より強制力があるもの、と考えるのがいいだろう。別スレッドの方を呼び出します。