-4

重複の可能性:
Java 同期メソッド: オブジェクトまたはクラスのロック

Java同期が静的メソッドでどのように機能するかを説明してください? クラスオブジェクトによって行われると言う人もいますが、ロックがそれでどのように行われるかは述べていません。

4

1 に答える 1

1

常に監視オブジェクトで同期します。ここではすべての Java オブジェクトを使用できます。

同期ブロックを使用すると、そのオブジェクトを直接指定できます。

synchronized (something){
}

同期メソッドを使用すると、オブジェクト インスタンス自体 ( on this) で同期されるため、次と同じです。

synchronized (this) {
}

同期された静的メソッドを使用すると、「誰かが言った」ように、クラス オブジェクトで同期されます。

synchronized (ThisClass.class){
}

メカニズムは常に同じです。同時にロックを保持できるスレッドは 1 つだけで、他のスレッドは待機する必要があります。

于 2012-06-19T09:19:33.180 に答える