第一个线程是收听主题的 JMS 订阅者。一旦收到消息,它就会在 HashMap 中添加/更新/删除条目。另一个线程使用 TimerClass 每 2 分钟运行一次,并读取同一散列图的内容并将其存储在文件中并清除散列图。请建议应该使用哪种 HashMap - 并发或同步?还有其他方法可以实现这一目标吗?
最佳答案
同步将是必要的。
因为 HashMap
没有同步。
使用 Collections.SynchronizedMap
或移动到 Hashtable
关于java - 两个线程访问同一个 hashmap,一个线程在 2 分钟后继续运行其他线程并清除该 hashmap,如何在 java 中处理这个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20566101/