下面列出了java.util.concurrent.atomic.AtomicIntegerArray#set() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* decrementAndGet decrements and returns current value
*/
public void testDecrementAndGet() {
AtomicIntegerArray aa = new AtomicIntegerArray(SIZE);
for (int i = 0; i < SIZE; i++) {
aa.set(i, 1);
assertEquals(0, aa.decrementAndGet(i));
assertEquals(-1, aa.decrementAndGet(i));
assertEquals(-2, aa.decrementAndGet(i));
assertEquals(-2, aa.get(i));
}
}
/**
* incrementAndGet increments and returns current value
*/
public void testIncrementAndGet() {
AtomicIntegerArray aa = new AtomicIntegerArray(SIZE);
for (int i = 0; i < SIZE; i++) {
aa.set(i, 1);
assertEquals(2, aa.incrementAndGet(i));
assertEquals(2, aa.get(i));
aa.set(i, -2);
assertEquals(-1, aa.incrementAndGet(i));
assertEquals(0, aa.incrementAndGet(i));
assertEquals(1, aa.incrementAndGet(i));
assertEquals(1, aa.get(i));
}
}
static void test_2vi_oppos(AtomicIntegerArray a, AtomicIntegerArray b, int c, int d) {
int limit = ARRLEN-1;
for (int i = limit; i >= 0; i-=1) {
a.set(i, c);
b.set((limit-i), d);
}
}
static void test_vi_oppos(AtomicIntegerArray a, int b, int old) {
int limit = ARRLEN-1;
for (int i = limit; i >= 0; i-=1) {
a.set((limit-i), b);
}
}
static void test_ci_scl(AtomicIntegerArray a, int old) {
for (int i = 0; i*SCALE < ARRLEN; i+=1) {
a.set((i*SCALE), -123);
}
}
static void test_cp_inv(AtomicIntegerArray a, AtomicIntegerArray b, int k) {
for (int i = 0; i < ARRLEN-k; i+=1) {
a.set((i+k), b.get(i+k));
}
}
static void test_2ci_off(AtomicIntegerArray a, AtomicIntegerArray b) {
for (int i = 0; i < ARRLEN-OFFSET; i+=1) {
a.set((i+OFFSET), -123);
b.set((i+OFFSET), -103);
}
}
static void test_2vi_inv(AtomicIntegerArray a, AtomicIntegerArray b, int c, int d, int k) {
for (int i = 0; i < ARRLEN-k; i+=1) {
a.set((i+k), c);
b.set((i+k), d);
}
}
static void test_cp_off(AtomicIntegerArray a, AtomicIntegerArray b) {
for (int i = 0; i < ARRLEN-OFFSET; i+=1) {
a.set((i+OFFSET), b.get(i+OFFSET));
}
}
static void test_2ci_inv(AtomicIntegerArray a, AtomicIntegerArray b, int k) {
for (int i = 0; i < ARRLEN-k; i+=1) {
a.set((i+k), -123);
b.set((i+k), -103);
}
}
static void test_cp_neg(AtomicIntegerArray a, AtomicIntegerArray b) {
for (int i = ARRLEN-1; i >= 0; i-=1) {
a.set(i, b.get(i));
}
}
static void test_2ci_unaln(AtomicIntegerArray a, AtomicIntegerArray b) {
for (int i = 0; i < ARRLEN-UNALIGN_OFF; i+=1) {
a.set((i+UNALIGN_OFF), -123);
b.set(i, -103);
}
}
static void test_cp_alndst(AtomicIntegerArray a, AtomicIntegerArray b) {
for (int i = 0; i < ARRLEN-ALIGN_OFF; i+=1) {
a.set((i+ALIGN_OFF), b.get(i));
}
}
static void test_vi_oppos(AtomicIntegerArray a, int b, int old) {
int limit = ARRLEN-1;
for (int i = limit; i >= 0; i-=1) {
a.set((limit-i), b);
}
}
static void test_2ci_aln(AtomicIntegerArray a, AtomicIntegerArray b) {
for (int i = 0; i < ARRLEN-ALIGN_OFF; i+=1) {
a.set((i+ALIGN_OFF), -123);
b.set(i, -103);
}
}
static void test_2vi_aln(AtomicIntegerArray a, AtomicIntegerArray b, int c, int d) {
for (int i = 0; i < ARRLEN-ALIGN_OFF; i+=1) {
a.set(i, c);
b.set((i+ALIGN_OFF), d);
}
}
static void test_cp_neg(AtomicIntegerArray a, AtomicIntegerArray b) {
for (int i = ARRLEN-1; i >= 0; i-=1) {
a.set(i, b.get(i));
}
}
static void test_2vi_unaln(AtomicIntegerArray a, AtomicIntegerArray b, int c, int d) {
for (int i = 0; i < ARRLEN-UNALIGN_OFF; i+=1) {
a.set(i, c);
b.set((i+UNALIGN_OFF), d);
}
}
static void test_2ci_aln(AtomicIntegerArray a, AtomicIntegerArray b) {
for (int i = 0; i < ARRLEN-ALIGN_OFF; i+=1) {
a.set((i+ALIGN_OFF), -123);
b.set(i, -103);
}
}
static void test_2vi_scl(AtomicIntegerArray a, AtomicIntegerArray b, int c, int d) {
for (int i = 0; i*SCALE < ARRLEN; i+=1) {
a.set((i*SCALE), c);
b.set((i*SCALE), d);
}
}