博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并发编程:任务执行
阅读量:5341 次
发布时间:2019-06-15

本文共 886 字,大约阅读时间需要 2 分钟。

1、每当看到下面这种代码 new Thread(runnable).start() 时,请考虑用Executor

2、Executor

  1)创建方式:Executors.new..

  2)通过使用Executor,可以实现各种调优、管理、监视、记录日志、错误报告

  3)Executor有4个生命周期:创建、提交、开始和完成

  4)ExecutorService: extends Executor,有三种状态:运行、关闭、终止

  5)支持限时的invokeAll,将多个任务提到ExecutorService并获得结果

3、Timer: timer.schedule(runnable, timout)

  1)Timer在执行所有定时任务时只会创建一个线程

  2)Timer线程并不捕获异常,因此当TimerTask抛出未检查的异常时将终止定时线程

4、Callable与Future

  1)Runnable与Callable描述的都是抽象的计算任务

  2)Future表示一个任务的生命周期,

    提供 cancel、isCancelled、isDone、get/get(timeout,timeunit)

  Callable
task = new Callable
() {    public V call() {      return V;    }  };

5、CompletionService

  CompletionService
completionService = new ExecutorCompletionService
(executor);  completionService.submit(callable)  completionService.take()

转载于:https://www.cnblogs.com/hellocyc/p/6683349.html

你可能感兴趣的文章
eclipse-将同一个文件分屏显示
查看>>
对闭包的理解
查看>>
练习10-1 使用递归函数计算1到n之和(10 分
查看>>
Oracle MySQL yaSSL 不明细节缓冲区溢出漏洞2
查看>>
windows编程ASCII问题
查看>>
.net webService代理类
查看>>
Code Snippet
查看>>
Node.js Express项目搭建
查看>>
zoj 1232 Adventure of Super Mario
查看>>
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>