【发布时间】:2013-02-04 11:04:19
【问题描述】:
我遇到了一些阴暗的代码,其中 HashSet 被多个线程同时访问和修改,我想知道这可能会产生什么影响,考虑到 Javadoc 只解释了这种行为是“非确定性”在并发、非同步访问下。
具体来说,对remove(element) 的调用是否有可能返回true,但调用的效果永远不会被其他线程看到(即contains(element) 在其他线程中总是会返回true) ?
PS:只是为了让你放心,我知道这段代码很糟糕,我会将HashSet 替换为等效的同步集合。
【问题讨论】:
标签: java collections synchronization hashset