浅谈程序运行超时控制
通用的程序运行超时控制只能使用多线程的方式,由一个线程作为守护线程进行计时(线程A),而另一个线程则负责处理业务逻辑(线程B),当线程A发现线程B超时时,终止线程B的运行。
守护线程内包含一个计时器,在超时的情况下抛出个timeoutException的异常,捕获该异常后终止业务线程。
关于建立守护线程:
从JDK 1.5开始新增了java.net.concurrent包,其中的Future和ExecutorService可作为守护线程类进行计时,使用该类可以很方便的进行多线程的运行控制。
至于JDK1.4版,也可以用多线程的方式来实现,不过守护线程需要自己写。

