两种实现方式
1:继承Thread 类,重写run()
2:实现 runable接口 ,实现run()
多个线程运行,一旦一个线程长时间不结束,甚至死锁,就可能造成大量线程拥堵。
执行超时返回:
private ExecutorService executorService =
Executors.newSingleThreadExecutor();
//concurrent提供的执行器,用来执行和跟踪Future异步任务。
private FutureTask futureTask = null;//定义一个异步任务
private static final int TIME_OUT = 10 * 60;//假定10分钟超时
futureTask = new FutureTask(new MyTask());
executorService.execute(futureTask);
futureTask.get(TIME_OUT, TimeUnit.SECONDS);
class MyTask implements Callable {
public Object call() throws Exception { return null;
}
}