java - 二维原子整数数组

标签 java multidimensional-array atomic

嘿,所以我想知道如何制作 AtomicInteger一个二维数组,从我在 javadocs 上找到的 AtomicIntegerArray只是一个维度。

int[] newArray = new int[100];
AtomicIntegerArray atomicarray = new AtomicIntegerArray(newArray);

这会创建一个大小为 100 的 AtomicIntegerArray。但我想要一个具有两个维度的原子数组。我试过做..

AtomicInteger[][] atomicArray = new AtomicInteger[100][100];
atomicArray[00][00].set(1);

但是我遇到了..

java.lang.NullPointerException at nz.ac.massey.threadpool.MyClass.(MyClass.java:20)

有什么想法吗?谢谢! :)...我之前没有对原子变量做过太多工作。

如果这不可能,我如何将一个常规原始整数二维数组最小化为一个 AtomicInteger 二维数组?

最佳答案

只需创建一个长度为 m * n 的一维数组,然后您需要一个将一对整数 (i, j) 映射到一个整数的函数。 i * n + j 是一个好的开始。假设 m 是行数,n 是列数。

将所有整数保存在 AtomicIntegerArray 中是个好主意。或者您将不得不自己处理并发问题。

关于java - 二维原子整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10718525/

相关文章:

java - 负向后看 Java 正则表达式空间或什么都没有

java - 如何测试验证注释?

Java 仅当存在时可选返回值

Java ArrayList 填充

用于 double 定义错误的 CUDA atomicAdd

c++ - 在并行循环中添加 double - std::atomic<double>

java - 使用自定义序列化器从 avro 读取时,RDD 中的运行时类型错误

c++ - 我无法理解二维模数 C++

c++ - 原子类对象方法的用法

python - NumPy 的轴参数如何工作?