摘要:接口用于提交任务接口继承了接口设置线程的状态,还没执行的线程会被中断设置线程的状态,尝试停止正在进行的线程当调用或方法后返回为当调用方法后,并且所有提交的任务完成后返回为当调用方法后,成功停止后返回为当前线程阻塞,直到线程执行完时间到被中断
Executor接口
void execute(Runnable command)//用于提交command任务ExecutorService接口
继承了Executor接口
//设置线程的状态,还没执行的线程会被中断 void shutdown(); //设置线程的状态,尝试停止正在进行的线程 ListshutdownNow(); //当调用shutdown()或shutdownNow()方法后返回为true boolean isShutdown(); //当调用shutdown()方法后,并且所有提交的任务完成后返回为true //当调用shutdownNow()方法后,成功停止后返回为true; boolean isTerminated(); //当前线程阻塞,直到线程执行完、时间到、被中断 boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException; //提交一个Callable任务 Future submit(Callable task); //提交一个Runnable任务,因为Runnable没有返回指,所以第二个参数是用来返回值 Future submit(Runnable task, T result); //提交一个Runnable任务 Future> submit(Runnable task); //执行所有任务 List > invokeAll(Collection extends Callable > tasks) throws InterruptedException; //执行所有任务,有过期时间 List > invokeAll(Collection extends Callable > tasks, long timeout, TimeUnit unit) throws InterruptedException; //有一个任务结束就可以返回 T invokeAny(Collection extends Callable > tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException; //有一个任务结束就可以返回,有过期时间 T invokeAny(Collection extends Callable > tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException;
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/75686.html
摘要:系统预定了几个线程池,不过建议手动创建,以防止错误创建消耗资源,比如创建太多线程或者固定线程数量,无界队列固定线程数量,数量为,无界队列,会按顺序执行不限制线程数量,使用队列,使用于短任务基于用于周期性执行任务示例第一个是,第二个是第一 系统预定了几个线程池,不过建议手动创建,以防止错误创建消耗资源,比如创建太多线程或者OOM FixedThreadPool 固定线程数量,无界队列 p...
摘要:有三种状态运行关闭终止。类类,提供了一系列工厂方法用于创建线程池,返回的线程池都实现了接口。线程池的大小一旦达到最大值就会保持不变,在提交新任务,任务将会进入等待队列中等待。此线程池支持定时以及周期性执行任务的需求。 这是java高并发系列第19篇文章。 本文主要内容 介绍Executor框架相关内容 介绍Executor 介绍ExecutorService 介绍线程池ThreadP...
摘要:抽象类,实现了的接口。将任务封装成提交任务主要方法在任务是否超时超时时间任务书用于存放结果的,先完成的放前面。 AbstractExecutorService抽象类,实现了ExecutorService的接口。 newTaskFor 将任务封装成FutureTask protected RunnableFuture newTaskFor(Runnable runnable, T va...
摘要:线程的启动与销毁都与本地线程同步。操作系统会调度所有线程并将它们分配给可用的。框架的成员主要成员线程池接口接口接口以及工具类。创建单个线程的接口与其实现类用于表示异步计算的结果。参考书籍并发编程的艺术方腾飞魏鹏程晓明著 在java中,直接使用线程来异步的执行任务,线程的每次创建与销毁需要一定的计算机资源开销。每个任务创建一个线程的话,当任务数量多的时候,则对应的创建销毁开销会消耗大量...
摘要:示例执行一批任务,然后消费执行结果代码如下跟着阿里学并发,微信公众号输出代码中传入了一批任务进行处理,最终将所有处理完成的按任务完成的先后顺序传递给进行消费了。 这是java高并发系列第20篇文章。 本文内容 ExecutorCompletionService出现的背景 介绍CompletionService接口及常用的方法 介绍ExecutorCompletionService类及...
阅读 1598·2021-11-11 10:59
阅读 2608·2021-09-04 16:40
阅读 3624·2021-09-04 16:40
阅读 2953·2021-07-30 15:30
阅读 1581·2021-07-26 22:03
阅读 3146·2019-08-30 13:20
阅读 2200·2019-08-29 18:31
阅读 420·2019-08-29 12:21