Callable接口

Callable

  • 实现callable接口
  • 重写其中的方法
  • new Thread().star(),启动
  • Thread只能传入Runnable接口的实现类

问题:

Thread只能传入Runnable接口的实现类,那么实现了callable接口该怎么办,才可以让线程启动

  • Runnable的实现接口有很多
    • 在实现类FunctionTask接口与Callable接口挂上了关系

在这里插入图片描述

在这里插入图片描述

解决方案

public class CallableTest {public static void main(String[] args) throws ExecutionException, InterruptedException {MyThread myThread = new MyThread();FutureTask<Integer> futureTask = new FutureTask<>(myThread);new Thread(futureTask).start();futureTask.get();}}
class MyThread implements Callable<Integer>{@Overridepublic Integer call() throws Exception {System.out.println("call");return 123;}
}
  • get可以获取到返回值
  • 因为Future Task存在一个泛型V,在初始化的时候就传入了,所以,返回的是Integer
  • 但是get方法可能会造成阻塞,需要等待进行返回值,所以会造成阻塞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/618255.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac电脑软件 Magnet v2.14.0免激活中文版

Magnet是一款窗口管理工具&#xff0c;适用于Mac操作系统。它可以帮助用户轻松地管理和组织多个应用程序的窗口&#xff0c;提高工作效率。 Magnet支持多种窗口布局和组合方式&#xff0c;可以将窗口分为左右、上下、四分之一等不同的比例和位置&#xff0c;用户可以根据实际需…

【MATLAB源码-第50期】基于simulink的BPSK调制解调仿真,输出误码率。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. Bernoulli Binary: 这个模块生成伯努利二进制随机数&#xff0c;即0或1。这些数字表示要传输的原始数字信息。 2. Unipolar to Bipolar Converter: 此模块将伯努利二进制数据从0和1转换为-1和1&#xff0c;这是BPSK调制的…

1.MMD模型动作场景镜头的导入及视频导出

界面介绍 MIKUMIKUDANCE926版本 MMD的工具栏模型骨骼帧的窗口&#xff0c;在不同时间做不同动作&#xff0c;可以在这里打帧操作时间曲线操作窗口&#xff0c;控制模型两个动作之间的过渡模型操作窗口&#xff0c;导入模型选择模型相机操作&#xff0c;控制相机远近&#xf…

Rust取代C++? 保守了!关于未来的讨论

当各种平台在大肆讨论rust即将取代C/C的时候&#xff0c;已经有不少人意识到这种讨论是聒噪而无聊的。笔者和老师们通过周末茶会的讨论&#xff0c;认为现今世界常见的大多数编程语言都会在50-80年内被AI取代&#xff0c;同时供人类审计而诞生的“审计语言”会兴起。届时计算机…

Linux 目录结构与基础查看命令

介绍 目录结构如下 /bin&#xff1a;存放着用户最经常使用的二进制可执行命令&#xff0c;如cp、ls、cat等。这些命令是系统管理员和普通用户进行日常操作所必需的。 /boot&#xff1a;存放启动系统使用的一些核心文件&#xff0c;如引导加载器&#xff08;bootstrap loader…

012、Python+fastapi,第一个后台管理项目走向第12步:建立python+fastapi项目,建个接口测试一下是否能跑通

一、说明 上图是做了个登录接口&#xff0c;很简单很简单&#xff0c;只是为了跑通代码 证明接口文档正常&#xff0c; 数据库正常 我们贴下代码 安装dao》server》controler 二、建立部分do文件 需要学习do vo这些区别的 可以看看 领域驱动系列-浅析VO、DTO、DO、PO - 知乎…

国内如何用GPT4

许多人曾向我咨询是否有一个稳定且不折腾的全球AI大模型测试网站&#xff0c;既能确保真实可靠性&#xff0c;又能保障稳定、快速的运行&#xff0c;避免频繁出现故障、错误或漫长的等待时间。到目前为止&#xff0c;我已经尝试了国内超过10个镜像站点&#xff0c;但遗憾的是&a…

set与map使用

目录 set使用 insert find与erase lower_bound 与 upper_bound equal_range count multiset使用 insert find count equal_range与erase map使用 insert 迭代器 operator[] 统计次数 multimap使用 前置学习内容: 搜索二叉树-CSDN博客 set与map的底层都是搜索二叉…

多输入多输出 | Matlab实现XGboost多输入多输出预测

多输入多输出 | Matlab实现XGboost多输入多输出预测 目录 多输入多输出 | Matlab实现XGboost多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现XGboost多输入多输出预测 1.data为数据集&#xff0c;10个输入特征&#xff0c;3个输出变量…

Doris 内网安装部署,基于 CentOS 7

实测 CentOS 7.6 和 7.9都可用&#xff0c;CentOS安装包为&#xff1a;标准安装盘DVD版&#xff0c;如果系统安装的是精简版&#xff0c;需要挂载DVD版或者自行下载依赖。 参考文档 快速开始 - Apache Doris Doris 下载地址&#xff1a;2.1.1 ( Latest ) -> x64 ( avx2 )…