在java中观察concurrentmap的最佳方法

在java中观察concurrentmap的最佳方法,java,concurrency,Java,Concurrency,这是一个生产者-消费者设置(多线程聊天服务器),我有一个concurrentmap,我把它命名为printwriter ConcurrentMap<String, PrintWriter> allNamedPrintwriters = new ConcurrentHashMap<>(); allNamedPrintwriters.put(content, pw); ConcurrentMap AllNamedPrintWriter=new ConcurrentHash

这是一个生产者-消费者设置(多线程聊天服务器),我有一个concurrentmap,我把它命名为printwriter

ConcurrentMap<String, PrintWriter> allNamedPrintwriters = new ConcurrentHashMap<>();
allNamedPrintwriters.put(content, pw); 
ConcurrentMap AllNamedPrintWriter=new ConcurrentHashMap();
allnamedPrintWriter.put(内容,pw);
我希望主服务器是根据allNamedPrintWriters映射(由使用者维护)中的更改关闭连接的服务器。 我不想让任何其他线程来做这项工作。因此,他们无法访问套接字,只能访问读写器。 有没有一个明显的解决办法?一种可以观察到的触发器?

可能会将库(实际上是实现)添加到项目中,将
ConcurrentMap
对象传递给获取一个。我没有这样做,所以你自己调查一下。研究源代码,确保它不会在并发映射中引入线程安全问题。