★★Java質問・相談スレッド173★★ [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0672デフォルトの名無しさん
2015/05/29(金) 14:16:56.43ID:AQuaH7cx変数mapは排他がかかるでしょうか?それともメソッドにsynchronizedを行ってもダメで変数mapそのものにsynchronizedするべきでしょうか?
※前提条件
・getData()は外部のスレッドから一定周期で呼ばれる。
・setData()は内部のスレッド(SubThread)から一定周期で呼ばれる。
public class Common{
private HashMap<String,String> map = new HashMap<String,String>();
public static void main(String args[]){
SubThread sub = new SubThread();
}
public synchronized HashMap<String,String> getData() {
return map;
}
private synchronized void setData(String data1, String data2) {
map.put(data1,data2);
}
private class SubThread extends Thread{
String strData1 = "Data1";
String strData2 = "Data2";
public void run(){
setData(strData1,strData2);
}
}
}
■ このスレッドは過去ログ倉庫に格納されています