シンクロナイズ(静的メソッドと非静的メソッド)の動作について少し混乱します。例えば静的メソッドと非静的メソッドのJava同期
:コールsomeMethod1を()スレッド場合
1.
class MyClass {
...
public synchronized static someMethod() {
...
}
public static someMethod2() {
...
}
...
}
ので、スレッドB)がsomeMethod2(上のロックを持っているのですか?
2.
class MyClass {
...
public synchronized someMethod() {
...
}
public someMethod2() {
...
}
...
}
我々はMyClassのA =新しいMyClassの()を持っている場合は、(呼び出しメソッドのsomeMethodスレッド)、スレッドは()someMethod2をロックしているのでしょうか?
同期は、非同期メソッドの呼び出しをブロックしません。 – shmosel
ありがとう、答えを変更しました。私は質問を正しく理解しませんでした –