, как и все остальные, сказал, что вам нужно убедиться, что шаги завершены, для этого вам нужно вызвать join .например
public static void main(String args[]) throws InterruptedException {
Counter c = new Counter();
Thread t1 = new Thread(c).start();
Thread t2 = new Thread(c).start();
t1.join();
t2.join();
System.out.println(c.value());
}
, который должен работать правильно