Future和FutureTask区别
来源:互联网 发布:p站软件 编辑:程序博客网 时间:2024/06/06 03:17
FUTURE EXAMPLE===========package com.futuretest;import java.util.concurrent.*;/** * Created by jc6a on 2016/1/29. */public class Test { public static void main(String[] args) { ExecutorService executorService = Executors.newCachedThreadPool(); Task task = new Task(); Future<Integer> result = executorService.submit(task); executorService.shutdown(); try { Thread.sleep(1000); } catch(Exception e) { e.printStackTrace(); } System.out.println("主线程在执行任务"); try { System.out.println("task的运行结果:"+result.get()); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } System.out.println("所有任务执行完毕"); }}class Task implements Callable<Integer>{ public Integer call() throws Exception { System.out.println(); Thread.sleep(3000); int sum = 0; for(int i=0;i<100;i++) { sum +=i; } return sum; }}
FUTURETASK EXAMPLE
=====================
package com.futuretest;import java.util.concurrent.*;/** * Created by jc6a on 2016/1/29. */public class Test1 { public static void main(String[] args) { ExecutorService executorService = Executors.newCachedThreadPool(); Task1 task = new Task1(); FutureTask<Integer> futureTask = new FutureTask<Integer>(task);// executorService.submit(futureTask);// executorService.shutdown(); System.out.println(futureTask.isDone()); System.out.println(futureTask.isCancelled()); Thread thread = new Thread(futureTask); thread.start(); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("主线程在执行任务"); try { System.out.println("task运行结果:"+futureTask.get(1000,TimeUnit.MILLISECONDS)); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } catch (TimeoutException e) { e.printStackTrace(); } System.out.println(futureTask.isDone()); }}class Task1 implements Callable<Integer>{ public Integer call() throws Exception { System.out.println("子线程在进行计算"); Thread.sleep(500); int sum = 0; for(int i=0;i<100;i++) { sum +=i; } return sum; }}
0 0
- Future和FutureTask区别
- Callable、Future和FutureTask区别
- Future和FutureTask
- Future和FutureTask
- Future和FutureTask
- Future和FutureTask
- Future和FutureTask(多线程)
- Future和FutureTask
- Future和FutureTask
- Future和FutureTask
- Callable、Future和FutureTask
- Future和FutureTask
- Callable、Future和FutureTask
- Callable和Future、FutureTask
- Future和FutureTask
- Callable、Future和FutureTask
- Callable、Future和FutureTask
- Callable、Future和FutureTask
- hdu 2093 考试排名
- [ZJOI2014][JZOJ3617]力
- 多线程死锁问题
- Merkel Under Pressure After Migrant Influx
- leetcode笔记:H-Index II
- Future和FutureTask区别
- centos7下安装fastdfs
- 转场动画 学习
- 我的CentOS环境部署过程:从vmware安装到环境搭建
- qt 使用xlslib操作execl
- HTTP的GET请求中文乱码
- Linux编程中目录内容的读取(实现ls功能)
- iOS 真机 Could not launch "***"
- Spring的AOP支持 使用Annotation方式