Friday, August 8, 2008

Java > Threads > Test Override Thread

/*
Java Threads, 3rd Edition
By Scott Oaks, Henry Wong
3rd Edition September 2004
ISBN: 0-596-00782-5

*/
import java.util.*;

public class TestOverrideThread implements Runnable {

static class OverrideExceptionHandler implements Thread.UncaughtExceptionHandler {
public void uncaughtException(Thread t, Throwable e) {
alertAdministrator(e);
}
}

public static void alertAdministrator(Throwable e) {
// Use Java Mail to send the administrator's pager an email
System.out.println("Adminstrator alert!");
e.printStackTrace();
}

public static void main(String[] args) {
Thread t = new Thread(new TestOverrideThread());
t.setUncaughtExceptionHandler(new OverrideExceptionHandler());
System.out.println(t.getUncaughtExceptionHandler());
t.start();
}

public void run() {
ArrayList al = new ArrayList();
while (true) {
al.add(new byte[1024]);
}
}
}

No comments: