?????????????£??????????????????threadA??ThreadB?????????Counter c??

public class Main {

 public static void main(String[] args) {
  Counter c = new Counter();
  ThreadA a = new ThreadA(c);
  ThreadB b = new ThreadB(c);
 
  Thread threadA = new Thread(a);
  Thread threadB = new Thread(b);
  threadA.start();
  threadB.start();
 }

}

?????????????????????????£?

????before increment?? c = 0
????before decrement?? c = 1
????after increment?? c = 0
????before increment?? c = 0
????after decrement?? c = 1
????before decrement?? c = 1
????after increment?? c = 0
????before increment?? c = 0
????after decrement?? c = 1
????before decrement?? c = 1
????after increment?? c = 0
????before increment?? c = 0
????after decrement?? c = 1
????before decrement?? c = 1
????after increment?? c = 0
????before increment?? c = 0
????after decrement?? c = 1
????before decrement?? c = 1
????after increment?? c = 0
????before increment?? c = 0
????after decrement?? c = 1
????before decrement?? c = 1
????after increment?? c = 0
????before increment?? c = 0
????after increment?? c = 1
????before increment?? c = 1
????after decrement?? c = 2
????before decrement?? c = 2
????after decrement?? c = 1
????before decrement?? c = 1
????after increment?? c = 0
????before increment?? c = 0
????after increment?? c = 1
????before increment?? c = 1
????after decrement?? c = 2
????before decrement?? c = 2
????after increment?? c = 1
????after decrement?? c = 1
????before decrement?? c = 1
????after decrement?? c = 0