次のように定義されたクラスがあるとしましょう。
public class MyClass {
private static int data;
public static staticMethod(int val){
... do something with data based on val ...
}
}
そして、静的メソッドを呼び出す多くの Java スレッドがアプリケーションで実行されているとします。
MyClass.staticMethod(int)
メソッドは呼び出しごとにブロックされますか? つまり、スレッド 1 が最初にメソッドを呼び出し、そのメソッドの実行中にスレッド 2 が静的メソッドを呼び出した場合、2 番目のスレッドは最初の実行が完了するまで待機する必要がありますか?
答えが「いいえ」の場合、「同期されていない」方法で静的データ メンバーを使用する意味があるのはいつでしょうか?