トップページ > プログラム > 2015年05月29日 > AQuaH7cx

書き込み順位&時間帯一覧

54 位/174 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000010000000001



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
★★Java質問・相談スレッド173★★ [転載禁止]©2ch.net

書き込みレス一覧

★★Java質問・相談スレッド173★★ [転載禁止]©2ch.net
672 :デフォルトの名無しさん[]:2015/05/29(金) 14:16:56.43 ID:AQuaH7cx
synchronizeについて教えてください。下記のコードでメソッドにsynchronizedを行っていますが、
変数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);
}
}
}


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。