最近主要在弄一些c/s的东西,以及对接一些外部的接口。
记下一些感觉有用的东西吧。
java在1.5之后又Callable和Future可以获得任务执行完毕后的结果
结合ExecutorService来使用。

使用场景

在调用外部登录接口的时候发现请求过去如果没连上网会一直在请求导致登录界面死机,所以一些连接的请求必须要有一个超时时间,一些耗时的操作的时候也需要一个超时时间来防止死锁导致的资源占用。

使用方法

  ExecutorService executor = Executors.newSingleThreadExecutor();FutureTask<PrePickupMailRes> future = new FutureTask<>(() -> {......具体方法,返回的类可以为任意,在泛型中限制 此处返回为自用类举例return prePickupMailRes;});executor.execute(future); //执行try {PrePickupMailRes prePickupMailRes = future.get(5000, TimeUnit.MILLISECONDS); //取得结果,设置超时时间} catch (InterruptedException | ExecutionException | TimeoutException e) {future.cancel(true);} finally {executor.shutdown();}

FutureTask实现超时任务相关推荐

  1. futureTask的超时原理解析

    序 本文主要解析一下futureTask的超时原理. 实例 ExecutorService executor = Executors.newFixedThreadPool(1); Future< ...

  2. Java基础知识强化之网络编程笔记25:Android网络通信之 Future接口介绍(Java程序执行超时)...

    1. Future接口简介 在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现. Future接口是Java标准API ...

  3. java 线程池超时_线程池中如何控制超时时间?

    线程池构造方法不能控制任务的超时时间, java.util.concurrent.ThreadPoolExecutor#ThreadPoolExecutor(int, int, long, java. ...

  4. Async Mode: Future使用

    Future 模式(异步调用) http://eyesmore.iteye.com/blog/243648 在多线程交互的中2,经常有一个线程需要得到另个一线程的计算结果,我们常用的是Future异步 ...

  5. Java的Executor框架和线程池实现原理

    一,Java的Executor框架 1,Executor接口 public interface Executor {void execute(Runnable command);} Executor接 ...

  6. java future接口_java Future 接口介绍

    在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现. Future接口是Java标准API的一部分,在java.uti ...

  7. Future 接口介绍

    2019独角兽企业重金招聘Python工程师标准>>> Future模式可以这样来描述:我有一个任务,提交给了Future,Future替我完成这个任务.期间我自己可以去做任何想做的 ...

  8. xxl-job源码解析(技术分享)

    文章目录 1. 概念 1. 定时任务的基本概念 2. 定时任务的使用场景 3. 原生定时任务缺陷有哪些缺陷? 4. 基于当前 XXL-JOB 我们能做什么? 2. 系统架构和整理流程 2.1. 设计思 ...

  9. Java Future接口、Future模式理解

    原文地址:https://blog.csdn.net/devinteng/article/details/23455733 Future接口介绍: 在Java中,如果需要设定代码执行的最长时间,即超时 ...

  10. Java多线程基础学习,Thread解读、java线程的状态、同步和异步、两阶段终止模式

    理论概述 单线程和多线程 为什么要使用多线程呢?多线程有什么好处呢? 如果在程序中,需要读写一个文件,该文件很大,那我们执行到该io操作时,cpu就会等待该io操作执行完才会继续运行下面的代码,进程调 ...

最新文章

  1. php生成对象吗,php生成器对象
  2. python的作用域分别有几种_python中作用域与函数嵌套
  3. java失败javac成功_JAVA SE JDK-10安装、配置(解决java成功,javac失败问题)
  4. 位置2的索引超出数组范围不能超过10_golang学习笔记--切片slice 与数组 arr
  5. pip安装wxpython报错_Ubuntu 上搭建robotframework
  6. crond服务及用法
  7. Facebook开发地面技术扩大互联网连接
  8. 【POJ 2342】Anniversary party(入门树形dp)
  9. Python爬虫学习记录(0)——Python 爬虫抓站 记录(虾米,百度,豆瓣,新浪微博)
  10. 计算机硬盘型号怎么看,硬盘编号怎么看
  11. 【T3】将“恢复记账前状态”按钮放置到工作台,一直显示。
  12. ussd代码大全_如何运行USSD代码
  13. System State 转储分析案例一则
  14. English Grammar(二)
  15. 复杂、繁杂、庞杂:图解七种代码耦合类型
  16. 软考高项 - 计算公式汇总整理
  17. 媲美celery的分布式调度框架funboost
  18. 简单聊聊MySQL中的六种日志
  19. yum clean all的作用
  20. 涉密学位论文不得在联网的计算机上撰写,华南理工大学涉密学位论文管理暂行规定.doc...

热门文章

  1. table 手机 滑动_移动端touch事件滚动
  2. Annoying day
  3. OSG 单体化如何生成
  4. 桓公与轮扁:轮扁斫轮
  5. ChinaMode评选:2010最受瞩目的45个初创公司/产品
  6. 微信,百度,字节跳动,支付宝小程序注册流程
  7. 学生请销假管理系统java_学生请假管理系统.doc
  8. 通过className属性给一个元素追加新class(addClass函数)
  9. 将H.264封装为FLV格式
  10. 求三个字符串的最长公共子序列LCS(A,B,C)