3 つのスレッドと、データを格納するハッシュマップを持つクラスがあります。スレッドの 1 つはハッシュマップにデータを書き込み、他の 2 つはそれを読み取ります。このようなもの:
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();
}
}
最初のスレッド (ライター) で最初のメソッド (書き込み) を実行し、リーダー 1 で読み取りを実行し、リーダー 2 で readAll を実行します。しかし、とにかくスレッド内のストレージにアクセスする方法が見つかりませんでした(メソッドを実行)。これらの 3 つのメソッドのように実行するスレッドを記述し、それらすべてが同時にストレージにアクセスできるようにするにはどうすればよいですか?