嘿,所以我想知道如何制作 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/