1

私は次のコードを持っています:

public Hashmap<String,String> tempmap = new HashMap<String,String>();

およびクラス関数:

void f1(){
    synchronized(onClassVariable1){
    ....Some code onClassVariable1...
    String tempString = tempMap.toString();
    ... Some work onClassVarible1 and tempString ...
    }
  }

複数のスレッドが、このクラスのオブジェクトを介してこの関数f1を呼び出します。

この関数はスレッドセーフですか?

4

2 に答える 2

6

onClassVariable1同期および変更しないメソッドがあるかどうかによって異なりますtempMap

于 2012-04-04T10:33:58.213 に答える
1

HashMapスレッドセーフなものはなく、Javadoc には次のように書かれています

于 2012-04-04T10:43:43.147 に答える