java实现线程的方式_java多线程实现的四种方式

java多线程实现的四种方式1、继承Thread类,重写run方法(其实Thread类本身也实现了Runnable接口)

2、实现Runnable接口,重写run方法

3、实现Callable接口,重写call方法(有返回值)

4、使用线程池(有返回值)

1、继承Thread类,重写run方法

每次创建一个新的线程,都要新建一个Thread子类的对象

启动线程,new Thread子类().start()

创建线程实际调用的是父类Thread空参的构造器a4bfa5782511eb9ab6ed2ae7c7eb6cdd.png

2、实现Runnable接口,重写run方法

不论创建多少个线程,只需要创建一个Runnable接口实现类的对象

启动线程,new Thread(Runnable接口实现类的对象).start()

创建线程调用的是Thread类Runable类型参数的构造器64bb52b1b6ccbd3569dd018e4650a1b7.png

3、实现Callable接口,重写call方法(有返回值)

自定义类实现Callable接口时,必须指定泛型,该泛型即返回值的类型

每次创建一个新的线程,都要创建一个新的Callable接口的实现类、

如何启动线程?

(1)创建一个Callable接口的实现类的对象

(2)创建一个FutureTask对象,传入Callable类型的参数

public FutureTask(Callable callable){……}

(3)调用Thread类重载的参数为Runnable的构造器创建Thread对象

将FutureTask作为参数传递

public class FutureTask implements RunnableFuture

public interface RunnableFuture extends Runnable, Future

如何获取返回值?

调用FutureTask类的get()方法215b36d0f5e1bdd0ba03dbdfe7a81ae1.png

4、线程池

Executors类9b70fc17640c4eb2925fee52731e4eac.png

4fef708b7a9c04d15b3a4b8b41e31f89.png

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

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

相关文章

本地运行flowable_在CockroachDB上运行Flowable

本地运行flowable什么是CockroachDB? CockroachDB是一个我一直关注了很长时间的项目。 这是一个开放源代码的Apache 2许可数据库( Github链接 ),该数据库在很大程度上汲取了Google Spanner白皮书的启发 。 它的核心是可水平扩展的…

win10禁用驱动程序强制签名_图文细说 win10系统未检测到第三个监视器的途径 -win10使用教程...

据统计调查,好多朋友都在为图文细说 win10系统未检测到第三个监视器的途径 的问题而烦恼,小编决定将解决的办法分享给大家。对于电脑菜鸟而言看到图文细说 win10系统未检测到第三个监视器的途径 是很无奈的,试着独自一个人解决图文细说 win10…

安装openstack_午餐前如何安装OpenStack Cloud

安装openstack图1. QuickStart的内部工作原理 云安装程序 如果我告诉您可以在必须停下来吃午餐之前进行OpenStack Cloud环境设置,该怎么办? 您会感到惊讶吗? 你今天可以做吗? 在大多数情况下,我敢打赌您的答案是不…

5e怎么绑定一键跳投_怎么开通淘宝亲情账号 淘宝亲情账号申请步骤【详解】

据官方消息,淘宝将在2月1日上线“亲情账号”功能。那么 淘宝亲情账号怎么开通?在哪申请? 下面为大家介绍下,一起来看看。亲情账号用户在淘宝账号中可以创建“父亲”或“母亲”角色关系,对父母发出注册邀请或直接绑定他们的账号。完成亲情关…

windows功能_你的Windows杀毒软件有这个功能吗?

安全软件首推-火绒,良心之作。比起360安全卫士、腾讯电脑管家,它无广告,无捆绑,无劫持,无弹窗,还免费。我认为最喜人最贴心的功能属它的‘弹窗拦截’了,可以拦截程序推送烦人的弹窗。五大浓缩亮…

base64 二进制流java_读取和base64编码二进制文件

我m trying to read a binary file from the filesystem and then base64 encode it in JavaScript. I使用FileReader API读取数据并找到base64编码器here .我的代码似乎接近工作,问题是生成的base64数据是错误的 . 这是我到目前为止所得到的:function s…

drools dmn_使用Drools的DMN运行时示例

drools dmn正如去年宣布的那样 ,Drools 7.0将在合规级别3对DMN模型提供全面的运行时支持。 在撰写本文时,运行时实现已完成,并且该团队现在正在努力进行改进,以进行错误修复和用户友好。 不幸的是,对于7.0版本&#…

笔记本电脑关机后指示灯还亮_汽车仪表常见指示符号之清洗液指示灯,灯亮了怎么办?...

清洗液指示灯就是玻璃水指示灯,用来显示玻璃水的储存量的,平时为熄灭状态,当玻璃水不足时就会点亮提醒驾驶员该添加了。添加后清洗液指示灯还亮的说明出现故障,检查玻璃水电机,相关线路保险丝等,行车中此灯…

xxx钻石商城功能开发需求

文章目录1. 买家小程序端1.1. 首页1.2. 店铺1.2.1. 搜索门店1.2.2. 门店信息1.2.3. 预约试戴1.3. 购物袋1.3.1. 加入购物车1.3.2. 编辑购物车1.4. 个人中心1.4.1. 个人信息1.4.2. 实名认证1.4.3. 我的等级1.4.4. 查看收益1.4.4.1 门店收益1.4.4.1.1查看结算单1.4.4.2 分享收益1…

drools6.5_Drools 6.5.0.Final可用

drools6.5最新和最出色的Drools 6.5.0.Final版本现已可供下载。 这是我们以前的版本的增量版本,重点是一些重要的改进以完善6.x系列。 您可以在此处找到更多详细信息,下载和文档: Drools网站 资料下载 文献资料 发行说明 请阅读下面的一…

c++ vector 一部分_C++ vector 使用注意事项

1、初始化c 11以后新增了大括号{}的初始化方式&#xff0c;需要注意与()的区别,如&#xff1a;std::vector<int> vecTest1(5); //初始化5个元素&#xff0c;每个都是0std::vector<int> vecTest2{ 5 }; //初始化1个元素&#xff0c;值是52、添加元素&#xff1a;pus…

react打包后图片丢失_React中型项目的优化实践

本文可能涉及的内容--项目介绍整个项目大概有60个页面&#xff0c;用到的组件大概150&#xff0c;package里面的依赖大概有70个&#xff0c;应该勉强算得上是一个中型的React的项目了。下面给大家看看我们现在build一次项目的结果--打包时间约150s&#xff0c;打包完之后的资源…

cuba.platform_CUBA Platform 6.3的新增功能

cuba.platform我们很自豪地宣布新版本的CUBA平台和Studio全面上市&#xff01; 也许这是有史以来功能最丰富的平台版本之一–在各个级别上都有重要的变化&#xff1a;体系结构&#xff0c;可扩展性&#xff0c;API可用性和性能。 本文介绍了该平台的主要增强功能。 发行说明中…

如何通过命令终端访问本地/局域网/远程的MySQL数据库_访问数据库_连接数据库_登录数据库

文章目录Windows系统下访问本地MySQL数据库访问远程主机的MySQL数据库本地安装了MySQL数据库本地没有安装MySQLLinux系统下退出数据库登录Windows系统下 访问本地MySQL数据库 使用命令终端访问本地MySQL数据库&#xff0c;打开终端直接输入以下命令语句&#xff1a; mysql …

科大讯飞 jason word_2019科大讯飞全球1024开发者节开幕啦

2019年10月24日&#xff0c;属于开发者的共同节日2019科大讯飞全球1024开发者节于合肥滨湖国际会展中心盛大启幕。以“A.I.前进&#xff0c;拼世界”为主题的本届大会&#xff0c;将集结120位行业大咖主题演讲、20场行业分论坛详解全域A.I.&#xff0c;科大讯飞的1024计划3.0、…

多线程线程池的实现java_如何在Java中实现线程池

多线程线程池的实现java线程是独立程序的执行路径。 在java中&#xff0c;每个线程都扩展java.lang.Thread类或实现java.lang.Runnable。 多线程是指在一个任务中同时执行两个或多个线程。在多线程中&#xff0c;每个任务可以有多个线程&#xff0c;并且这些线程可以异步或同步…

Windows 使用命令执行 sql 脚本文件

文章目录MySQL 数据库方法一&#xff1a;使用 mysql 命令方法二&#xff1a;使用 source 命令Oracle 数据库MySQL 数据库 方法一&#xff1a;使用 mysql 命令 未配置 MySQL 的环境变量&#xff0c;则需要进入 MySQL 的 bin 目录下才能执行 mysql 命令已配置 MySQL 的环境变量…

windows系统连接同局域网下的其他电脑mysql等服务

一、首先设置被连接的mysql服务的 root 用户及访问权限&#xff08;必须确保连接用户拥有不限ip访问权限&#xff09; 参考&#xff1a;https://blog.csdn.net/hkl_Forever/article/details/127543546 二、配置被连接电脑的防火墙、网络共享、设置出入端口规则等 1、打开防火墙…

js如何获取jwt信息_谈房地产公众号如何涨粉?一篇文章让你轻松获取信息

原标题&#xff1a;谈房地产公众号如何涨粉&#xff1f;一篇文章让你轻松获取信息对于房地产企业来说&#xff0c;如何学会运营自己企业的房地产微信公众号是涨粉引流的关键一步&#xff0c;老话说&#xff1a;一步走好&#xff0c;步步稳。值得夸奖的是近几年中高端房地产企业…