原子矩阵

时间:2015-12-10 09:43:10

标签: java multithreading performance cpu-cache compare-and-swap

我有一个大型的AtomicLong矩阵,它是我算法的核心结构。 我想知道使用long数组并在我的类中直接使用CAS方法是否是更好的策略。我认为这可以改善:

  1. 内存使用:基元数组比对象数组紧凑
  2. 缓存行为:减少间接(我不确定我是否会有一个非常可预测的数组遍历)
  3. 有没有人有这方面的经验?在开始编码之前,我宁愿对此策略有一些反馈。

1 个答案:

答案 0 :(得分:0)

好的,几个小时后。 这个选项不能按我的意愿工作,因为不可能声明一个volatile变量数组,请看这里的优秀帖子:http://jeremymanson.blogspot.fr/2009/06/volatile-arrays-in-java.html

好方法是用AtomicLongArray

数组替换我的AtomicLong矩阵