【Java多线程】FutureTask的使用示例

2023-05-16

炎热的夏天,一位少侠到客栈吃杯茶,客栈准备茶水有如下两种方式:
单线程
先擦桌子,花费3秒;
再准备茶水,花费3秒;
共花费6秒!
多线程
擦桌子和准备茶水同时进行,各自花费3秒(2个线程同时执行);
共花费3秒!

public static void main(String[] args) throws ExecutionException, InterruptedException {
        long startTime = System.currentTimeMillis();    // 开始服务时间
        FutureTask<String> teaTask = new FutureTask<String>(() -> { // 备茶任务
            Thread.sleep(3000);
            return "茶水小二:客官,茶水已备好......";
        });
        FutureTask<String> deskTask = new FutureTask<String>(() -> { // 清洁任务
            Thread.sleep(3000);
            return "服务员:客官,桌子擦干净了......";
        });

        new Thread(teaTask, "备茶线程").start();
        new Thread(deskTask,"清洁线程").start();
        System.out.println(teaTask.get());  // 阻塞等待备茶线程执行完成
        System.out.println(deskTask.get()); // 阻塞等待清洁线程执行完成

        long endTime = System.currentTimeMillis();    // 结束服务时间
        System.out.println("客官请慢用!本次备茶和擦桌子共花费:"+(endTime-startTime)/1000+" 秒!");
    }

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Java多线程】FutureTask的使用示例 的相关文章

随机推荐

  • 【语义分割】类别不平衡损失函数合集

    在语义分割领域 xff0c 我们会常常遇到类别不平衡的问题 比如要分割的目标 xff08 前景 xff09 可能只占图像的一小部分 xff0c 因此负样本的比重很大 xff0c 导致网络倾向于将所有样本判断为负样本 本文介绍了在数据不平衡时
  • 小张学linux内核:十四. elf文件的加载和进程切换寄存器的保存

    重点关注虚拟内存的切换 xff0c pgd xff0c mm struct start code xff1b 理清楚这三个概念 pgd不是在这里设置的遵循COW xff0c 是在写时缺页中断填充的 start code只是一个段开始的标记
  • linux软中断和系统调用深入研究

    arm软中断模式 arm7种模式 有中断模式 xff0c 但是并没有软中断模式 那么arm的软中断是什么呢 xff1f arm的软中断是arm从用户模式切换到特权模式 xff0c 也就是linux中从用户态切换到内核态的过程 swi命令触发
  • 进程proc文件介绍

    进程proc文件 proc pid 下是每个进程的proc信息 xff0c proc self比较特殊 xff0c 哪个进程打开 xff0c 对应链接到哪个进程 1 xff09 内存相关 status xff1a 进程使用虚拟内存和物理内存
  • Win10系统下安装CAA二次开发程序,VS界面上不出现CAA菜单栏或菜单栏为灰色的

    问题描述 xff1a Win10系统下安装了CATIA CAA V5R19和V4R24两个版本 xff0c 其中V5R19版本安装完成后VS2005中没有出现CAA菜单栏 xff0c V5R24安装完成后VS2008中出现部分集成菜单且为灰
  • 基于Stm32的4G模块实现内网透传通信(代码后附)

    基于Stm32的4G模块实现内网透传通信 一 内网透传即内网映射 xff0c 内网IP端口映射外网连接访问过程的实现 内网透传通信实现过程又有以下几种区别 xff1a 1 xff09 路由器映射 适合自己本地路由有公网IP网络环境 xff0
  • RoboCup智能机器人足球教程(二)

    RoboCup智能机器人足球教程 xff08 二 xff09 运行方式 RoboCup2D仿真平台通过一个服务端 xff0c 若干客户端联系而成 xff0c 同时通过监视器进行画面播放 当启动服务端后 xff0c 客户端通过改写程序内部的c
  • RoboCup智能机器人足球教程(三)

    RoboCup智能机器人足球教程 xff08 三 xff09 实现守门员代码 守门员逻辑实现比较容易 xff0c 但是最好开始的时候画好流程图 xff0c 理顺逻辑 xff0c 守门员一直盯着球 xff0c 当球距离守门员够近的时候 xff
  • 嵌入式工作一年总结

    其实这是去年2017年11月份写的 xff0c 现在想把这个发出来 xff0c 为后来的同学或者迷茫的一些同学的一些建议吧 xff01 刚入行回忆 刚开始进入公司的能力很差 xff0c 可以说什么都不会吧 xff0c wifi拼成wife
  • CVPR 2019 | 旷视研究院提出新型损失函数:改善边界框模糊问题

    全球计算机视觉三大顶会之一 CVPR 2019 xff08 IEEE Conference on Computer Visionand Pattern Recognition xff09 将于 6 月 16 20 在美国洛杉矶如期而至 届时
  • ros中使用opencv处理图像

    cv bridge toCvCopy xff1a ROS下的sensor msgs ImageConstPtr xff0c 和图像压缩类型 xff08 例如 xff1a sensor msgs image encodings RGB8 xf
  • PX4飞行日志分析与.ulg文件格式转换

    文章目录 一 FlightPlot安装及使用二 ulg文件格式转换 xff08 windows环境 xff09 一 FlightPlot安装及使用 span class token number 1 span xff09 下载FlightP
  • 【深入理解Java虚拟机 笔记】Java的类加载过程

    类加载的过程如下图所示 xff1a 一 加载阶段 注意 xff1a 这里的 加载 阶段是整个 类加载 过程的一个阶段 xff0c 两个词的含义是不一样的 这个阶段主要做3件事 xff1a 1 通过类的全限定名获取二进制字节流 xff1b 2
  • 【深入理解Java虚拟机 笔记】垃圾回收算法

    前言 当前垃圾回收集器大多都是遵循分代收集理论进行设计的 xff0c 先聊聊什么是分代收集 xff1a xff08 1 xff09 弱分代假说 xff1a 绝大多数对象都是朝生夕灭的 xff1b xff08 2 xff09 强分代假说 xf
  • 【日记 2021-05-01】 leetcode练习&& Linux修改文件权限

    题目 xff1a 1335 工作计划的最低难度 题目内容 xff1a 你需要制定一份 d 天的工作计划表 工作之间存在依赖 xff0c 要想执行第 i 项工作 xff0c 你必须完成全部 j 项工作 xff08 0 lt 61 j lt i
  • 【Leetcode 刷题笔记】16. 3Sum Closest

    题目 方案一 xff1a 穷举法 o n 3 span class token keyword class span span class token class name Solution span span class token pu
  • 【Debugging】SpringSecurity iframe 页面不显示

    问题描述 如下图所示 xff0c 配置了SpringSecurity后 xff0c 网页就加载不出来了 xff0c 多次检查代码都没有问题 xff0c 折腾了好久 xff01 xff01 xff01 解决方案 在SpringSecurity
  • 【日记 2021-05-14】树莓派获取环境亮度(光照度)

    什么是亮度 xff1f 光照度指被照射物体单位面积上所接受可见光的光通量 xff0c 单位是勒克斯 Lux 或流明每平方米 lm m2 xff0c 是用来描述光的亮度的 我们平时最关心的我家灯到底够不够亮 xff0c 具体数值可以用照度计测
  • 【Java】语法糖

    什么是语法糖 xff1f 语法糖就是指 java 编译器把 java 源码编译为 class 字节码的过程中 xff0c 自动生成和转换的一些代码 有哪些语法糖 xff1f 默认构造函数 xff1a 当一个类没有显式的提供构造函数时 xff
  • 【Java多线程】FutureTask的使用示例

    炎热的夏天 xff0c 一位少侠到客栈吃杯茶 xff0c 客栈准备茶水有如下两种方式 xff1a 单线程 先擦桌子 xff0c 花费3秒 xff1b 再准备茶水 xff0c 花费3秒 xff1b 共花费6秒 xff01 多线程 擦桌子和准备