AtomicIntegerArrayAtomicInteger[]的含义是否有区别?
哪个使用速度更快?
(我唯一注意到的是,首先占用的空间要少得多,但这意味着每次重新检查都在检查数组的边界,这样会使它变慢吗?)

编辑:在预先初始化数组的情况下。

最佳答案

AtomicInteger[]每个元素需要一个对象。 AtomicIntegerArray仅需要AtomicIntegerArray对象和一个数组对象。因此,如有可能,请使用后者。

即使对于普通数组,边界检查的成本也很小。重要的是,从多个处理器访问同一高速缓存行中的数据可能会导致严重的性能问题。因此,单独的对象或有意避免使用数组的封闭元素可能会有所帮助。

09-27 08:22