Executor 线程执行器
dong_dong2211
低调,取舍间,有得有失!
展开
-
RejectedExceptionHandler 管理被拒绝的任务
可以通过方法shutdown()关闭执行器,在调用该方法后,执行器将等待那些正在运行或正在等待的任务完成,然后才能真正的关闭执行器,关闭后的执行器将不再接收新的任务。由于关闭执行器有一定的时间延迟,很可能 在提交了关闭申请但还没有真正关闭执行器之前,新的任务被提交该执行器,对于这样的任务,可以通过接口RejectedExecutionHandler来处理。 ...原创 2019-12-31 14:27:24 · 465 阅读 · 0 评论 -
CompletionService 任务的装载和结果处理的分离
当使用Executor处理并发任务时,通常会把Callable对象提交给Executor处理,再通过类FutureTask的get()方法获得结果,如果当前结果还没计算出来,线程将会阻塞在此处等待, 即使后面结果出来了,也不能去处理,很显然这会导致性能的下降。 CompletionService 接口整合了Executor和阻塞队列的功能,定义如下:...原创 2019-12-26 17:41:28 · 193 阅读 · 0 评论 -
ScheduledExecutorService 接口
newScheduledThreadPool() 或者newSingleThreadScheduled-Executor()方法:延迟执行、周期性执行的执行器 如果想在某一段时间之后执行线程操作,或者周期性地重复执行线程操作,则可以使用工厂类Executors的newScheduledThreadPool()方法或者 newSingleThreadSche...原创 2019-12-25 14:01:07 · 349 阅读 · 0 评论 -
Executors 使用线程执行器处理有返回值的线程 处理Callable的实现类
有返回值的线程定义需继承Callable接口,然后将线程交给执行器,提交线程需要使用submit()方法。demo 示例: 使用线程执行器处理有返回值的线程 某驾校有4辆考试车,有8个学生要进行考试,要求分别获取学生考试的时间。 //学生考试线程类 public class Student implements...原创 2019-12-20 14:14:16 · 215 阅读 · 0 评论 -
Executor接口以及扩展 线程的执行器
线程池机制分离了任务的创建和执行。使用线程池执行器,仅需实现Runnable对象,并将该对象交给执行器。执行器会使用线程池中的线程执行,避免额外的创建线程的开销。 线程池执行器起到了维护和管理线程的作用,从而将程序员从繁重的线程管理任务中解放出来。 从JDK1.5开始,Java并发库中引入了Executor框架。该框架包括接口Executor及其接口ExcutorService,以...原创 2019-12-19 17:45:39 · 174 阅读 · 1 评论