public class SyncBlockThread extends Thread { SyncBlock block; boolean counter1; public SyncBlockThread(SyncBlock block, boolean counter1) { this.block = block; this.counter1 = counter1; } public void run() { if(counter1) block.inc1(); else block.inc2(); } public static void main(String []args) { SyncBlock block = new SyncBlock(); new SyncBlockThread(block, true).start(); new SyncBlockThread(block, false).start(); } }