Future Clalback使用案例
目前知道可以实现线程按照顺序的java原生方法有 join(),CountDownLatch,Executors.newSingleThreadExecutor(),FutureTask..
Future Clalback配合使用
package com.juc.threadpool; import java.util.concurrent.*; /**
* Created by Administrator on 2018/6/28.
*/
public class FutureCallBack { public static void main(String[] args) throws ExecutionException, InterruptedException { Callable<Integer> callable = () -> {
TimeUnit.MILLISECONDS.sleep(3000);
return 3;
}; FutureTask futureTask = new FutureTask(callable);
FutureTask futureTask2 = new FutureTask(new MyTask());
new Thread(futureTask).start(); System.out.println(futureTask.get());//阻塞
System.out.println("ssssssssssssssssssssss");
new Thread(futureTask2).start();
System.out.println(futureTask2.get());//阻塞
System.out.println("ssssssssssssssssssssss");
if(futureTask.isDone()){
new Thread(futureTask2).start();
}
System.out.println(futureTask2.get());//阻塞 //线程池使用
ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.submit(futureTask);
System.out.println(futureTask.get());
executorService.shutdown();
} static class MyTask implements Callable<Integer> { @Override
public Integer call() throws Exception {
Thread.sleep(1000);
return 1;
}
} }
Future Clalback使用案例的更多相关文章
- java基础——入门篇
整体大纲图 1.认识java 核心知识点:JVM.搭建Java开发环境.java的发展史.java特点.java程序类型.垃圾收集器.J2SE下载和安装.环境变量的配置和测试.以及简单的开发工具的使用 ...
- Java基础学习笔记: 多线程,线程池,同步锁(Lock,synchronized )(Thread类,ExecutorService ,Future类)(卖火车票案例)
多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念.进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线 ...
- 以两种异步模型应用案例,深度解析Future接口
摘要:本文以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类. 本文分享自华为云社区<[精通高并发系列]两种异步模型与深度解析Future接口(一) ...
- 【故障处理】队列等待之enq IV - contention案例
[故障处理]队列等待之enq IV - contention案例 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也 ...
- 基于案例贯通 Spark Streaming 流计算框架的运行源码
本期内容 : Spark Streaming+Spark SQL案例展示 基于案例贯穿Spark Streaming的运行源码 一. 案例代码阐述 : 在线动态计算电商中不同类别中最热门的商品排名,例 ...
- 通过案例对 spark streaming 透彻理解三板斧之三:spark streaming运行机制与架构
本期内容: 1. Spark Streaming Job架构与运行机制 2. Spark Streaming 容错架构与运行机制 事实上时间是不存在的,是由人的感官系统感觉时间的存在而已,是一种虚幻的 ...
- 多线程08-Callable和Future
1.简介 Callable是一个接口,与Runnable类似,包含一个必须实现的call方法,可以启动为让另一个线程来执行,执行Callable可以得到一个Future对象 该对象可以监听Callab ...
- Netty 编解码技术 数据通信和心跳监控案例
Netty 编解码技术 数据通信和心跳监控案例 多台服务器之间在进行跨进程服务调用时,需要使用特定的编解码技术,对需要进行网络传输的对象做编码和解码操作,以便完成远程调用.Netty提供了完善,易扩展 ...
- Java多线程:Callable,Future,FutureTask
一.Future Future和Callable基本是成对出现的,Callable负责产生结果,Future负责获取结果. 1.Callable接口类似于Runnable,只是Runnable ...
随机推荐
- 基于Html的SEO(很基础,更是前端必须掌握之点)
文章来源:百度文库 Html代码seo优化最佳布局,实例讲解 众所周知,搜索引擎对html代码是非常优化的,所以html的优化是做好推广的第一步.一个符合seo规则的代码大体如下界面所示. ...
- 解决hash冲突的三个方法(转)
https://www.cnblogs.com/wuchaodzxx/p/7396599.html 目录 开放定址法 线性探测再散列 二次探测再散列 伪随机探测再散列 再哈希法 链地址法 建立公共溢出 ...
- Hive - ORC 文件存储格式【转】
一.ORC File文件结构 ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache ...
- java中,什么是方法的重载?需要满足什么条件?两同三不同指的什么?
方法重载需要满足以下几个条件: 在同一个类中 方法的名称相同 参数列表不同 方法重载有以下特点: 与访问修饰符和返回值类型无关 与异常无关 方法重载的作用: 传递不同的参数实现相同的效果 所谓两同,就 ...
- 在Docker中安装配置Oracle11g并实现数据持久化
1.拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 镜像详情:https://dev.aliyun.com/ ...
- 禅道-bug管理系统部署
官方下载: https://www.zentao.net/framework/zentao11.2-80109.html 官方使用说明:(含安装及使用说明,很详细) https://www.zenta ...
- tf.nn.embedding_lookup
tf.nn.embedding_lookup(params, ids, partition_strategy=’mod’, name=None, validate_indices=True, max_ ...
- 解决ExtNET ExtJS 特定日期选择月份跳转导致无法选择月份的问题
背景 项目使用 Ext.NET 2.2.0.40838 , 对应Ext JS4.2版本. 结果 2017/3/31 号的时候偶然间点日历选择控件选择2月,10月等月份突然就跳到3月份,9月份之类. 就 ...
- C# DataReader
//1 连接字符串 string connectionString = "server=127.0.0.1;integrated security=true;database=MSPetSh ...
- vs code编辑器使用教程指南
1.安装插件: 这里可以搜索到插件并安装. 2.修改快捷键或查找快捷键: 这里可以进行快捷键的查找和修改 3.进入引用文件: 点击f12,或者右击快捷键可以看到进入引用文件的快捷方法. 4.查看目录: