java - 原子长矩阵

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

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

  • 内存使用情况:基本数组比对象数组
  • 紧凑
  • 缓存行为:更少的间接访问(我尚不确定我是否会进行非常可预测的数组遍历)

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

    最佳答案

    好的,几个小时后。
    由于无法声明可变变量数组,因此该选项无法按我的意愿工作,请参见此处的出色文章:http://jeremymanson.blogspot.fr/2009/06/volatile-arrays-in-java.html

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

    关于java - 原子长矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34198366/

    相关文章:

    java - 扫描仪类别 : Two inputs on the same line, 以空格分隔

    Java线程安全锁

    java - 并行运行 Selenium 测试时出现 TimeoutException

    c - 使用结构体和变量作为函数的输入参数之间的速度差异

    c# - XNA游戏性能

    sql-server - sp_executesql 使用错误的执行计划

    java - XML 解析文档

    java - 软件设计和循环 Maven 依赖关系

    ios - UIImages NSURL 和线程

    wpf - 我应该使用哪种 WPF 线程方法?