JAVA arraylist的线程安全

    xiaoxiao2021-03-25  67

    iterator 和 for 都不能修改容器的内容

    iterator 可以删除容器中的元素,for不能

     

    在iterator 和 for 的过程中,不能有其他线程或自己线程通过直接操作容器对象的方法增加删除元素(报错java.util.ConcurrentModificationException)。自己线程增加若要删除元素,可以在iterator 中调用iterator.remove()方法,不会报错。可以对容器中的元素进行修改查询

     

    所以为了线程安全,可以对容器使用 clone()方法进行浅复制,也可以使用线程锁。

    转载请注明原文地址: https://ju.6miu.com/read-36469.html

    最新回复(0)