gpt4 book ai didi

java - arraylist 的线程安全实现

转载 作者:行者123 更新时间:2023-11-29 09:39:39 24 4
gpt4 key购买 nike

所以如果一个程序这样做:

    static ArrayList<X> a = null;
static{
for(;;){X x = new X(); a.add(x)}
}

在共享列表上,静态初始化之后唯一调用的操作是 get() 和 x.t()

       X x = a.get(i); x.t();

并且 X 无法访问容器并且是线程安全的,这应该意味着像这样使用 Arraylist,没有同步是线程安全的,对吗?

最佳答案

如果没有任何东西在修改 ArrayList,那么您就没有理由担心它的线程安全性。

默认情况下,该静态 block 是线程安全的,因为它只在类加载时运行一次(用于初始化)。

关于java - arraylist 的线程安全实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224552/

24 4 0