package onewayStreet; public class FabricCars extends Thread{ static final int nMaxCars =15; static final int SLEEPfromSENSE1 =750; static final int SLEEPfromSENSE2 =750; static int i=0; onewayStreet o = null; public static synchronized int getI() { return i;} public static synchronized void setI(int i) {FabricCars.i = i;} public synchronized onewayStreet getO() {return o;} public synchronized void setO(onewayStreet o) { this.o = o; } public FabricCars(onewayStreet o ) {setO(o);} //constructor public static synchronized int getAndIncrementCarId() { int carId=getI(); setI(carId+1); return carId; } public void run() {} }