次のコードをWebサービスの一部として実行しているとしましょう。コードはスレッドセーフである必要があります。たとえば、他のWebサービス呼び出しが別のインスタンスの変数を変更することはできません。このコードはこの要件を満たしていますか?
public class ExampleClass {
public static String abc = "000";
public static ArrayList<String> myList = new ArrayList();
public static synchronized final void clearList(){
mylist.clear();
}
public static synchronized final void addToList(String listItem){
myList.add(listItem);
}
...
more static synchronized methods...
}
私はこのコードを継承し、同期を確実にするために最小限の変更を加える必要があります。
あなたの答えに感謝します。
[編集]明確にするため。このコードを実行する際にWebサービス呼び出しが発生し、「abc」変数と「myList」変数を処理します(変更など)。その間に、別のWebサービス呼び出しが着信し、これらの変数の処理も開始されます。ただし、これら2つの個別のリクエストには、独自の「abc」変数と「myList」変数が必要です。たとえば、これらを共有できない場合、結果は正しくありません。