假设我有一组从客户端发送到服务器的请求 ID 散列。服务器的响应返回我发送的请求 ID,然后我可以将其从哈希集中删除。这将以多线程方式运行,因此多个线程可以在哈希集中添加和删除 ID。但是,由于生成的 ID 是唯一的(来自线程安全源,假设AtomicInteger
现在为每个新请求更新),是否HashSet
需要 a ConcurrentHashSet
?
我认为这可能导致问题的唯一情况是,如果HashSet
遇到可能需要对底层HashSet
对象进行数据结构更改的冲突,但在这个用例中似乎不会发生这种情况。