1、设置一个守护线程对执行业务的线程计时,超时则抛出异常
2、Thread类有一个join(long millis)方法,执行该方法时如果另一个线程中断了当前线程,就会抛出一个InterruptedException异常(超时也抛出)。
3、java.util.concurrent包FutureTask类有个get(int timeout, TimeUnit timeUnit)方法,该方法会阻塞一直等待执行完成拿到结果,如果在超时时间内没有返回则抛出异常
方法一、二: http://blog.csdn.net/lanniao1/article/details/1831627
方法三: http://blog.sina.com.cn/s/blog_638f466d0100mqmp.html
更多资料http://itindex.net/blog/2010/08/11/1281486125717.html
http://www.tuicool.com/articles/2MBZju
http://www.ibm.com/developerworks/cn/java/j-lo-nio2/index.html