1、设置一个守护线程对执行业务的线程计时,超时则抛出异常

 

2、Thread类有一个join(long millis)方法,执行该方法时如果另一个线程中断了当前线程,就会抛出一个InterruptedException异常(超时也抛出)。

 

3、java.util.concurrent包FutureTask类有个get(int timeout, TimeUnit timeUnit)方法,该方法会阻塞一直等待执行完成拿到结果,如果在超时时间内没有返回则抛出异常

 


方法三:  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