class Value { private int i; Value(int i) { super(); this.i = i; } int getI() { return this.i; } void setI(int i) { this.i = i; } } class Reader extends Thread { private Value v; Reader(Value v) { super(); this.v = v; } public void run() { this.v.getI(); } } class Writer extends Thread { private Value v; Writer(Value v) { super(); this.v = v; } public void run() { this.v.setI(2); } } public class Race { public static void main (String[] args) { Value v = new Value(1); (new Writer(v)).start(); (new Reader(v)).start(); } }