gpt4 book ai didi

java - 何时适用于使用 CopyOnWriteArrayList

转载 作者:行者123 更新时间:2023-12-01 20:09:47 24 4
gpt4 key购买 nike

我找不到任何关于何时适用于使用 CopyOnWriteArrayList 的解释,我的意思是容器最适合什么情况。

有一个同标题的问题,In what situations is the CopyOnWriteArrayList suitable? 。但是,它已关闭,因为它与其他问题线程重复。我认为两个线程都没有回答这个问题,所以我启动了这个问题线程。

对于In what situations is the CopyOnWriteArrayList suitable? ,它实际上说明了 CopyOnWriteArrayList

very efficient if you have a List where Iteration outnumber mutation

但是我没有找到实际的应用场景。对于 How can CopyOnWriteArrayList be thread-safe? ,它实际上关注的是CompyOnWriteArrayList是线程安全的原因。

感谢您的提前答复。

最佳答案

基于javadoc,

A thread-safe variant of java.util.ArrayList in which all mutative operations (add, set, and so on) are implemented by making a fresh copy of the underlying array.

正如您所看到的,对容器的任何修改都是昂贵的,尤其是当容器中的数据量很大时。

当修改频率较低时,最好使用CopyOnWriteArrayList。根据JCIP的建议,

the copy-on-write collections are reasonable to use only when iteration is far more common than modification.

例如事件通知系统。每次需要通知事件时,它都会迭代容器,但只会在观察者更改时进行修改。前者出现频率较高,后者出现频率较低。

关于java - 何时适用于使用 CopyOnWriteArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46874116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com