☆★Java質問・相談スレッド173★★at TECH
☆★Java質問・相談スレッド173★★ - 暇つぶし2ch706:デフォルトの名無しさん
15/05/29 14:16:56.43 AQuaH7cx.net
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);
}
}
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch