重複の可能性:
Java 同期メソッド: オブジェクトまたはクラスのロック
Java同期が静的メソッドでどのように機能するかを説明してください? クラスオブジェクトによって行われると言う人もいますが、ロックがそれでどのように行われるかは述べていません。
重複の可能性:
Java 同期メソッド: オブジェクトまたはクラスのロック
Java同期が静的メソッドでどのように機能するかを説明してください? クラスオブジェクトによって行われると言う人もいますが、ロックがそれでどのように行われるかは述べていません。
常に監視オブジェクトで同期します。ここではすべての Java オブジェクトを使用できます。
同期ブロックを使用すると、そのオブジェクトを直接指定できます。
synchronized (something){
}
同期メソッドを使用すると、オブジェクト インスタンス自体 ( on this
) で同期されるため、次と同じです。
synchronized (this) {
}
同期された静的メソッドを使用すると、「誰かが言った」ように、クラス オブジェクトで同期されます。
synchronized (ThisClass.class){
}
メカニズムは常に同じです。同時にロックを保持できるスレッドは 1 つだけで、他のスレッドは待機する必要があります。