如果故障安全迭代器创建一个单独的副本并对其进行处理,那么它如何知道对原始文件所做的任何更改?
public class concurrentHashMap {
public static void main(String[] args) throws InterruptedException {
MapCheck obj1 = new MapCheck();
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
obj1.put();
}
});
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
obj1.iterte();
}
});
t1.start();
t2.start();
t1.join();
t2.join();
}
}
class MapCheck {
Map<Integer,String> map = new ConcurrentHashMap<>();
{
map.put(1, "pujan");
map.put(2, "manish");
map.put(3, "swati");
}
void iterte() throws InterruptedException {
for (int key : map.keySet()) …Run Code Online (Sandbox Code Playgroud)