1
7
你为什么要使用
这是因为除了迭代器以外的所有方法都是使用列表本身作为互斥体进行同步的,所以您不必这样做
相反,你可以这样做
它将是线程安全的。 唯一不同步的方法是迭代列表时。列表迭代器不能以同步方式返回,因为您将在之后对其进行迭代,这就是为什么需要手动同步列表。因此,总之,您只需在迭代列表时同步列表,其他一切都不必同步。 |
2
1
这个 java collections tutorial 这就是原因。基本上,每次迭代都会对底层集合进行多次调用。这些调用不能被原子化为单个“事务”。 |