美文网首页
2019-11-12

2019-11-12

作者: ambe_gzy | 来源:发表于2019-11-12 22:20 被阅读0次

    使用copyOnWriteArrayList()的好处、缺点?

    好处

    1.位于java.util.concurrent包下,这个类是为并发而设计;

    2.读写分离,绝对的线程安全。

    缺点

    1.随着copyOnWriteArrayList内元素的逐渐增加、其的修改代价会越来越高。

    2.最终一致,线程a读取的数据未必是最新的数据,可能在线程a读取数据之后线程bcd都对数组进行了修改,但虽然线程a读取的数据不是最新的,后来的线程efg读取的数据一定是线程abcd修改过后的数据,因此其具有最终一致。最终一致不适用于用户对数据的实时性要求非常高的情况。

    参考:java-01-初识CopyOnWriteArrayList


    一点感想

    最近使用viewModel+livedata的频率很高,越来越觉得给viewmodel注册监听器是很巧妙的设计,之前因为viewmodel必须要用在有生命周期的类中,有时候需要在自定义的工具类更新数据,感觉用起来很不方便,现在通过listener可以方便的在没有生命周期的类中更新livedata的数据。

    相关文章

      网友评论

          本文标题:2019-11-12

          本文链接:https://www.haomeiwen.com/subject/foyfictx.html