Runnable接口实现多线程|学习笔记

简介: 快速学习Runnable接口实现多线程

开发者学堂课程【Java高级编程:Runnable接口实现多线程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/20


Runnable接口实现多线程


虽然可以通过Thread类的继承来实现多线程的定义,但是在Java程序里面对于继承永远都是存在有单继承局限的,所以在JAVA里面又提供有第二种多线程的主体定义结构形式:实现java.lang.Runnable接口,此接口定义如下:


image.pngimage.jpeg

但是此时由于不再继承Thread父类了,那么对于此时的MyThread类中也就不再支持有start()这个继承的方法,可是如果不使用Thread.start()方法是无法进行多线程启动的,那么就需要去观察一下Thread类所提供的构造。

·构造方法: public Thread(Runnable target);

范例:启动多线程

image.pngimage.jpeg

多线程实现里面可以发现,由于只是实现了Runnable 接口对象,所以此时线程主体类上就不再有单继承局限了,这样的设计才是一个标准型的设计。

可以发现从JDK1.8开始,Runnable接口使用了函数式接口定义,所以也可以直接利用Lambda表达式进行线程类实现。

范例:利用Lambda实现多线程定义。

image.pngimage.jpeg

在以后的开发之中对于多线程的实现,优先考虑Runnable接口实现,并且永恒都是通过Thread类对象启动多线程。

相关文章
|
机器学习/深度学习 算法 计算机视觉
【TSP问题】基于免疫算法结合蚁群算法求解旅行商TSP问题含GUI界面
【TSP问题】基于免疫算法结合蚁群算法求解旅行商TSP问题含GUI界面
|
消息中间件 存储 分布式计算
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
大数据-103 Spark Streaming Kafka Offset管理详解 Scala自定义Offset
306 0
|
JavaScript Java 测试技术
基于Java的点餐系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的点餐系统的设计与实现(源码+lw+部署文档+讲解等)
261 0
|
人工智能 关系型数据库 BI
算术逻辑单元ALU
算术逻辑单元ALU
3222 0
|
机器学习/深度学习 运维 算法
K-Means(K-均值)聚类算法理论和实战
K-Means(K-均值)聚类算法理论和实战
926 1
|
负载均衡 安全 Java
【微服务系列笔记】Gateway
Gateway是Spring Cloud生态系统中的网关服务,作为微服务架构的入口,提供路由、负载均衡、限流、鉴权等功能。借助于过滤器和路由器,Gateway能够动态地管理请求流量,保障系统的安全和性能。
1972 7
|
存储 安全 搜索推荐
想要解析邮件?IMAP协议轻松助你,不再烦恼!
电子邮件仍是关键的通讯工具,利用编程语言自动化处理能显著提高效率。本文介绍使用Go语言从IMAP服务器读取、解析邮件及处理相关信息。首先概述POP3/IMAP/SMTP协议的作用,强调IMAP协议的优势及其在邮件客户端与服务器间双向同步的特点。接着,指导如何获取授权码以连接第三方服务。通过实战演示,展示使用`go-imap`库连接服务器、读取邮件详情(如主题、收件人等)、标记邮件为已读的过程。最后,对比`Store`与`UidStore`方法的区别,指出使用`UidStore`更安全可靠。本文提供了一段详细的Go语言示例代码,帮助读者快速上手。
390 4
|
SQL 关系型数据库 Apache
Apache Doris 整合 FLINK CDC 、Paimon 构建实时湖仓一体的联邦查询入门
Apache Doris 整合 FLINK CDC 、Paimon 构建实时湖仓一体的联邦查询入门
2562 3
|
传感器 负载均衡 网络协议
01 MQTT简介
01 MQTT简介
282 0
|
Linux Python
linux qt 项目中QProcess调用命令行命令执行python脚本
linux qt 项目中QProcess调用命令行命令执行python脚本
linux qt 项目中QProcess调用命令行命令执行python脚本