[JAVA学习笔记-97]ActiveObject模式的Scheduler的关键实现
来源:互联网 发布:广联达破解软件下载 编辑:程序博客网 时间:2024/06/05 06:15
public class CustomScheduler implements Runnable {private LinkedBlockingQueue activationQueue = new LinkedBlockingQueue();@Overridepublic void run() {dispatch();}public Future enqueue(Callable methodRequest) {final FutureTask task = new FutureTask(methodRequest) {public void run() {try {super.run(); 【调用FutureTask的run,实际调用的是callable的run】// 捕获所有可能抛出的对象,避免该任务运行失败而导致其所在的线程终止} catch (Throwable t) {this.setException(t);}}};try {activationQueue.put(task);} catch (InterruptedException e) {Thread.currentThread().interrupt();}return task;}public void dispatch() {while (true) {Runnable methodRequest;try {methodRequest = activationQueue.take();// 防止个别任务执行失败导致线程终止的代码在run方法中methodRequest.run();} catch (InterruptedException e) {// 处理该异常e.printStackTrace();}}}}
阅读全文
0 0
- [JAVA学习笔记-97]ActiveObject模式的Scheduler的关键实现
- OSGi实现动态特性的关键模式
- muduo网络库学习笔记(9):Reactor模式的关键结构
- 状态模式学习笔记 --有限状态机的实现
- Java 实现断点续传的关键几点
- 孙鑫VC学习笔记:第十六讲 利用关键代码段实现线程间的同步
- 孙鑫VC学习笔记:第十六讲 (二) 利用关键代码段实现线程间的同步
- Spring的@Scheduler注解实现定时任务
- 关键路径的实现
- 关键路的实现
- 实现php工厂模式的几个关键函数
- java定时器的使用(Scheduler )
- Cocos2d-x学习笔记(十)scheduler及Cocos2dx的回调
- 【Windows核心编程学习笔记】用户模式下的线程同步之二---关键段(critical section)
- Java学习笔记———《单例模式的7种实现详解》
- 模式的学习笔记
- java的几个关键
- 访问form对象的关键属性和方法【学习笔记】
- Windows无法格式化改卷,改卷已脱机, 请尝试首先向改卷分配驱动器号或路径使其联机
- loadrunner GUI界面性能测试
- php 替换敏感字符串
- 数据库最常见的10个安全问题
- 接着很久以前的贪吃蛇
- [JAVA学习笔记-97]ActiveObject模式的Scheduler的关键实现
- Java动态代理的两种实现方法
- HDU3829 (9/600)
- 求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case和条件语句
- Spring jdbcTemplate 的测试 --(三)
- win32(6)--GDI绘图基础
- self类本身
- hadoop-HA集群搭建,启动DataNode,检测启动状态,执行HDFS命令,启动YARN,HDFS权限配置,C++客户端编程,常见错误
- PHP特性整合 php7特性