【问题标题】:Matrix of AtomicLongAtomicLong 矩阵
【发布时间】:2016-03-15 21:07:54
【问题描述】:

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

  1. 内存使用:原始数组比对象数组紧凑得多
  2. 缓存行为:较少的间接性(我还不确定我是否会有一个非常可预测的数组遍历)

有人有这方面的经验吗?在开始编码之前,我希望对这个策略有一些反馈。

【问题讨论】:

  • 详细介绍一下算法,如何访问元素以及如何更新它们
  • 我有一个大型的 long 矩阵,每个元素都可以同时访问和修改。

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


【解决方案1】:

好的,几个小时后。 此选项无法按我的意愿工作,因为无法声明 volatile 变量数组,请参阅此处的精彩帖子:http://jeremymanson.blogspot.fr/2009/06/volatile-arrays-in-java.html

好方法是用AtomicLongArray的数组替换我的AtomicLong矩阵

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 2018-04-02
    • 2013-12-23
    • 1970-01-01
    相关资源
    最近更新 更多