package com.xinwei.order.entity;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future; public class CallableTest { public static void main(String[] args) {
//创建线程池
ExecutorService es = Executors.newSingleThreadExecutor();
//创建Callable对象任务
CallableDemo calTask=new CallableDemo();
//提交任务并获取执行结果
Future<Integer> future =es.submit(calTask);
//关闭线程池
es.shutdown();
try {
Thread.sleep(2000);
System.out.println("主线程在执行其他任务"); if(future.get()!=null){
//输出获取到的结果
System.out.println("future.get()-->"+future.get());
}else{
//输出获取到的结果
System.out.println("future.get()未获取到结果");
} } catch (Exception e) {
e.printStackTrace();
}
System.out.println("主线程在执行完成");
}
}
package com.xinwei.order.entity;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask; public class eeeee { public static void main(String[] args) {
//创建线程池
ExecutorService es = Executors.newSingleThreadExecutor();
//创建Callable对象任务
CallableDemo calTask=new CallableDemo();
//创建FutureTask
FutureTask<Integer> futureTask=new FutureTask<>(calTask);
//执行任务
es.submit(futureTask);
//关闭线程池
es.shutdown();
try {
Thread.sleep();
System.out.println("主线程在执行其他任务"); if(futureTask.get()!=null){
//输出获取到的结果
System.out.println("futureTask.get()-->"+futureTask.get());
}else{
//输出获取到的结果
System.out.println("futureTask.get()未获取到结果");
} } catch (Exception e) {
e.printStackTrace();
}
System.out.println("主线程在执行完成");
}
}
import java.util.concurrent.Callable;  

public class CallableDemo implements Callable<Integer> {  

    private int sum;
@Override
public Integer call() throws Exception {
System.out.println("Callable子线程开始计算啦!");
Thread.sleep(); for(int i= ;i<;i++){
sum=sum+i;
}
System.out.println("Callable子线程计算结束!");
return sum;
}
}

最新文章

  1. DIV 垂直 垂直水平 居中
  2. &#39;UserInfoBLL&#39; node cannot be resolved for the specified context [MVC展示数据.Controllers.LoginController]问题解决
  3. RabbitMQ学习总结 第六篇:Topic类型的exchange
  4. Codeforces Round #Pi (Div. 2) B. Berland National Library 模拟
  5. 无法使用SQL login去登陆SQL Server - &#39;Password did not match&#39;
  6. 201521123006 《Java程序设计》第1周学习总结
  7. mac pycharm快捷键整理
  8. 2018-2019-2 网络对抗技术 20165316 Exp5 MSF基础应用
  9. HTTP-从输入url到请求回数据发生了什么
  10. 本地开发环境搭建(windows)
  11. day5_判断价格输入是否是正整数或正小数
  12. 修改ORA-28001 口令已经失效问题
  13. flume使用之httpSource
  14. ELK环境搭建完整说明
  15. 转,敏感词过滤,PHP实现的Trie树
  16. 【Unity】4.4 添加角色控制器
  17. import-module的注意事项与NDK_MODULE_PATH的配置
  18. JSON数组,JSON对象,数组的区别与基本操作整理
  19. MySQL命令行导入sql文件时出现乱码解决方案
  20. linux-2.6内核驱动学习——jz2440之输入子系统

热门文章

  1. Linux下TCP/socket编程
  2. [troubleshoot][archliunx][chromium][flash] chrome提示flash不是最新
  3. sparking water
  4. 《Nginx - 指令》- Rewrite/If/Set
  5. elasticsearch-head的安装和使用
  6. js数组方法汇总
  7. 什么是BI
  8. pymysql 模块 使用目录
  9. grub启动流程和配置
  10. vue中$emit 和$on 和$set的用法