`
cloudeagle_bupt
  • 浏览: 538146 次
文章分类
社区版块
存档分类
最新评论

Future接口例子程序

 
阅读更多
package preschedule;


import java.util.concurrent.*;


public class TaskTest {


	public static void addToPreScheduleTaskQueue(ExecutorService exec) {


		TaskPreScheduler mapTaskPreScheduler =  new TaskPreScheduler();
		Future<Boolean> future = exec.submit(mapTaskPreScheduler);
		Boolean taskResult = null;


		try {
			taskResult = future.get(100, TimeUnit.MICROSECONDS);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ExecutionException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (TimeoutException e) {
			// TODO Auto-generated catch block
			future.cancel(true); //
			System.out.println(" preSchedule:  interrupted! Over Time Limit! ");
		} finally {
			exec.shutdownNow();
		}


		// 这里判断是否预调度成功,并作相应处理
		if (taskResult == true) // 未超时,TP成功完成
		{
			System.out.println(Thread.currentThread().getName() + " preSchedule Succeeded! ");
		} else
			System.out.println(" preSchedule Failed! ");
	}
 
	
	public static void main(String argv[]) throws Exception {
		ExecutorService exec = Executors.newCachedThreadPool();
		addToPreScheduleTaskQueue(exec);
	}
}


class TaskPreScheduler implements Callable<Boolean> {


	public TaskPreScheduler()
	{
//	   System.out.println(Thread.currentThread().getName()   + " TaskPreScheduler created! ");	
	}
	
	@Override
	public Boolean call() throws Exception {
		// TODO Auto-generated method stub
		System.out.println( Thread.currentThread().getName() +" preschedule called!");
		return true;
	}
}


分享到:
评论

相关推荐

    个人总结的深入java多线程开发

    看完《think in java》多线程章节,自己写的多线程文档,还...12)异步计算的结果Future 40 13)安排线程池ScheduledExecutorService 40 五多线程面试题 41 六其他主题 41 1)ReentrantLock和synchronized关键字的区别 41

    Java SE实践教程 pdf格式电子书 下载(一) 更新

    11.2.1 ServerSocket与Socket示例: 开发一个Server-Client模型的程序 291 11.2.2 多点传送示例 293 11.2.3 打造你自己的QQ 295 11.3 小结 315 第12章 找个好管家——JMX 317 12.1 讲解 318 12.1.1 什么是 JMX...

    Java SE实践教程 源代码 下载

    11.2.1 ServerSocket与Socket示例: 开发一个Server-Client模型的程序 291 11.2.2 多点传送示例 293 11.2.3 打造你自己的QQ 295 11.3 小结 315 第12章 找个好管家——JMX 317 12.1 讲解 318 12.1.1 什么是 JMX...

    Scala程序设计(第2版)

    第23章 应用程序设计 435 23.1 回顾之前的内容 435 23.2 注解 437 23.3 Trait即模块 441 23.4 设计模式 442 23.4.1 构造型模式 443 23.4.2 结构型模式 443 23.4.3 行为型模式 444 23.5 ...

    Java2核心技术.part5

    2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 2.3使用命令行工具 2.4使用集成开发环境 2.5使用文本编辑器编译并运行程序 2.6运行图形化应用程序 2.7建立并运行applet 第3章Java基本...

    Java2核心技术.part3

    2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 2.3使用命令行工具 2.4使用集成开发环境 2.5使用文本编辑器编译并运行程序 2.6运行图形化应用程序 2.7建立并运行applet 第3章Java基本...

    Java2核心技术.part1

    2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 2.3使用命令行工具 2.4使用集成开发环境 2.5使用文本编辑器编译并运行程序 2.6运行图形化应用程序 2.7建立并运行applet 第3章Java基本的程序...

    Java2核心技术.part6

    2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 2.3使用命令行工具 2.4使用集成开发环境 2.5使用文本编辑器编译并运行程序 2.6运行图形化应用程序 2.7建立并运行applet 第3章Java基本...

    Java2核心技术.part4

    2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 2.3使用命令行工具 2.4使用集成开发环境 2.5使用文本编辑器编译并运行程序 2.6运行图形化应用程序 2.7建立并运行applet 第3章Java基本...

    Java2核心技术.part2

    2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 2.3使用命令行工具 2.4使用集成开发环境 2.5使用文本编辑器编译并运行程序 2.6运行图形化应用程序 2.7建立并运行applet 第3章Java基本...

    javaSE代码实例

    17.2.3 Callable与Future接口的具体使用 385 17.3 资源的封锁 386 17.3.1 Lock接口与ReentrantLock类简介 386 17.3.2 ReentrantLock锁的具体使用 387 17.3.3 ReadWriteLock接口与ReentrantReadWriteLock类...

    JAVA高质量并发详解,多线程并发深入讲解

    接着,深入讲解了Java并发编程的核心API,如synchronized关键字、Lock接口、Condition接口、Semaphore等,帮助读者掌握Java并发编程的基本工具和方法。 除了基础知识和API的讲解,本书还重点介绍了Java并发编程的...

    clump-zoot-sample:Clump Zoot 样本

    Clump + Zoot 示例应用程序 概括 该项目旨在展示和如何使开发人员能够创建超最小的微服务生态系统。 是一个路由和 API 规范框架,允许开发人员指定强类型微服务接口以在客户端和服务器之间共享,并隐藏 JSON 编组/...

    疯狂JAVA讲义

    学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...

    Java SE实践教程 pdf格式电子书 下载(四) 更新

    11.2.1 ServerSocket与Socket示例: 开发一个Server-Client模型的程序 291 11.2.2 多点传送示例 293 11.2.3 打造你自己的QQ 295 11.3 小结 315 第12章 找个好管家——JMX 317 12.1 讲解 318 12.1.1 什么是 JMX...

    Python核心编程第二版(ok)

     2.1 程序输出,1print语句及“HellocWorld!”   2.2 程序输入和raw_input()内建函数   2.3 注释   2.4 操作符   2.5 变量和赋值   2.6 数字   2.7 字符串   2.8 列表和元组   2.9 字典...

    外文翻译 stus MVC

    Even if you never implement a system with Struts, you may get some ideas for your future servlets and JSP page implementation. Introduction Kids in grade school put ...

Global site tag (gtag.js) - Google Analytics