Почему увеличивается значение на 2 в атомическом поле?

Помогите пожалуйста разобраться, почему поле counter2 уеличивается на 2, а не на 1?

import java.util.concurrent.atomic.AtomicInteger;

public class Part3 {
    AtomicInteger counter = new AtomicInteger(0);
    AtomicInteger counter2 = new AtomicInteger(0);

    volatile static int k;
    volatile static int t;
    volatile static int n;

    Part3(int n, int k, int t) {
        this.k = k;
        this.t = t;
        this.n = n;
    }

    public void test() {
        System.out.printf("%s %s%n", counter, counter2);
    }

    public static void main(String[] args) {
        Part3 part3 = new Part3(2, 3, 100);
        Thread[] threads = new Thread[n];
        for (int i = 0; i < n; i++) {
            threads[i] = new MyThread(part3);
            threads[i].start();
        }
    }
}

class MyThread extends Thread {
    Part3 part3;
    MyThread(Part3 part3) {
        this.part3 = part3;
    }

    //blah-blah
    @Override
    public void run() {
        for (int i = 0; i < part3.k; i++) {
            part3.test();
            part3.counter.incrementAndGet();
            try {
                Thread.sleep(part3.t);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            part3.counter2.incrementAndGet();
        }
    }
}

Ответы (0 шт):