在对线程进行控制时,Executor虽然能够对其进行管理,但是缺少终止的功能,所以我们要用到Executor的进阶方法ExecutorServic来处理。ExecutorServic也是一种接口,相比较Executor功能更加丰富,支持一些前者没有的用法。下面我们就ExecutorService进行说明,并带来创建的方法。
1.ExecutorService说明
(1)ExecutorService它是线程池定义的一个接口,继承Executor。能够关闭线程池,提交线程获取执行结果,控制线程的执行。
(2)ExecutorService 还支持 Callable 形式的异步任务
submit(Callable<T> task); submit(Runnable task); submit(Runnable task, T result);
2.创建ExecutorService方法
(1)Executors中的工厂类方法,例如:
ExecutorService executor = Executors.newFixedThreadPool(10);
除了newFixedThreadPool方法之外,Executors还包含了很多创建ExecutorService的方法。
(2)直接创建一个ExecutorService, 因为ExecutorService是一个interface,我们需要实例化ExecutorService的一个实现。
这里我们使用ThreadPoolExecutor来举例:
ExecutorService executorService = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
以上就是java中ExecutorService的两种创建方法,在了解ExecutorService的说明内容后,就可以进行创建。学会后赶紧试验下代码的部分吧。