Intr me = new Intr(Thread.currentThread(), 2000); me.start();
Intr me = new Intr(2000);
	public static void main(String[] ap) {		byte b[] = new byte[10];		System.out.println("Creating Intr");		Intr me = new Intr(Thread.currentThread(), 2000);		me.start();		System.out.println("Starting read");		for (int i=1; i<=5; i++) {			try {				// This read will block, unless you type something in				// the console window (and you have to be pretty quick!).				int n = System.in.read(b);				System.out.print(">> ");				for (int j=0; j<n; j++) {					if (b[j] == '\n' || b[j] == '\r')						break;					System.out.print((char)b[j]);				}				System.out.println(" <<");				if (b[0] == (byte)'Q')					return;			} catch (java.io.InterruptedIOException e) {				System.out.println("Interrupted IO");			} catch (Exception e) {				// Other exceptions are more painful				System.out.println("Caught " + e);			}		}		me.timedThread = null;		System.out.println("All done");	}