(original) (raw)

public class Main { private interface Instance { void count(); } private static final Instance[] array = new Instance[] { new Instance() { private volatile int _count; public void count() { _count++; } }, new Instance() { private volatile int _count; public void count() { _count++; } }, new Instance() { private volatile int _count; public void count() { _count++; } }, new Instance() { private volatile int _count; public void count() { _count++; } } }; public static void main(String[] args) { count400(2); count400(3); count400(2); count400(1); while(true) count400(0); } private static void count400(int i) { for (int j = 0; j < 20; j++) callCount(array[i], 20); } private static void callCount(Instance i) { i.count(); } private static void callCount(Instance inst, int times) { for (int i = 0; i < times; i++) callCount(inst); } }