摘要:
实现Callable接口的类其实就是一个任务,可以异步执行并返回结果。通过ExecutorService.submit 方法提交一个callable任务,并且通过Future对象来获得结果。Future对象可以取消运行任务,设置等待时间,获取任务状态,最终获得任务结果。 1 public static void main(String[] args) { 2 ExecutorService exec = Executors.newCachedThreadPool(); 3 4 Future<String> future = exec.submi... 阅读全文
摘要:
newCachedThreadPool 创建一个线程池创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。对于执行很多短期异步任务的程序而言,这些线程池通常可提高程序性能。调用 execute 将重用以前构造的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。终止并从缓存中移除那些已有 60 秒钟未被使用的线程。因此,长时间保持空闲的线程池不会使用任何资源。 1 public class LiftOff implements Runnable { 2 protected int countDown = 10; // Default 3 ... 阅读全文