我有一個有三個線程和一個存儲數據的散列圖的類。其中一個線程將數據寫入hashmap,另外兩個線程讀取數據。事情是這樣的:在java中通過3個線程訪問變量
public static class collector{
Thread writter;
Thread reader1;
Thread reader2;
HashMap storage;
...
public void write(String s){
storage.put(s.hashcode(),s);
}
public String read(long hash){
return storage.get(hash);
}
public Set readAll(){
return storage.entrySet();
}
}
我想第一個線程(作家)運行第一種方法(寫)和reader1運行閱讀和閱讀器2運行readAll。但我無法找到線程訪問存儲(運行方法)。我如何編寫線程來像這3種方法一樣運行,同時他們都可以同時訪問存儲?
謝謝。你救了一條命;) – Alireza 2012-07-25 00:23:34
這個答案是不正確的。看看Java文檔中關於「靜態」類的實際意義 - 它與「靜態」變量或「靜態」方法無關,這就是您正在考慮的內容。 – 2012-07-25 04:07:16
無論如何,這工作 – Alireza 2012-07-25 12:41:35