我有一个有三个线程和一个存储数据的散列图的类。其中一个线程将数据写入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