class MyTask implements Runnable { private final int MAX_COUNT = 100000; private CountMonitor monitor; public MyTask(CountMonitor monitor) { this.monitor = monitor; } @Override public void run() { System.out.println("Starting! Shared counter = " + monitor.getCounter()); for (int i = 0; i < MAX_COUNT; i++) { monitor.increment(); } System.out.println("Done! Shared counter = " + monitor.getCounter()); } }