实现java多线程的3种方式,99%人没用过第3种
发布日期:2021-06-30 12:45:24
浏览次数:4
分类:技术文章
本文共 571 字,大约阅读时间需要 1 分钟。
实现多线程的3种方式
1、继承Thread类
看jdk源码可以发现,Thread类其实是实现了Runnable接口的一个实例,继承Thread类后需要重写run方法并通过start方法启动线程。
继承Thread类耦合性太强了,因为java只能单继承,所以不利于扩展。
2、实现Runnable接口
通过实现Runnable接口并重写run方法,并把Runnable实例传给Thread对象,Thread的start方法调用run方法再通过调用Runnable实例的run方法启动线程。
所以如果一个类继承了另外一个父类,此时要实现多线程就不能通过继承Thread的类实现。
3、实现Callable接口
通过实现Callable接口并重写call方法,并把Callable实例传给FutureTask对象,再把FutureTask对象传给Thread对象。它与Thread、Runnable最大的不同是Callable能返回一个异步处理的结果Future对象并能抛出异常,而其他两种不能。
示例代码
结果输出:
Thread1 running...
Thread2 running...
Thread3 running...
name:java,age:22
推荐去我的博客阅读更多:
1.
2.
3.
4.
觉得不错,别忘了点赞+转发哦!
转载地址:https://javastack.blog.csdn.net/article/details/105944087 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月12日 19时24分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
BACNET协议详细分析(三)——WHO IS & I AM指令
2019-05-01
lua开发笔记(1)
2019-05-01
ESP8266 SDK3.0编译 【安信可一体化开发环境】
2019-05-01
C#和.NET之间的关系
2019-05-01
类的基本概念
2019-05-01
猜拳游戏(C#)
2019-05-01
简易计算器(C#)
2019-05-01
一、51单片机环境搭建
2019-05-01
二、单片机硬件基础
2019-05-01
Executors和ThreadPoolExecutor那种方式创建线程池更好
2019-05-01
单例模式(Singleton Pattern)学习
2019-05-01
使用java实现软件结构体系中的管道-过滤器模式
2019-05-01
个人博客如何提升SEO
2019-05-01
AI学习知识点思维导图
2019-05-01
Cloud Toolkit 插件安装
2019-05-01
我敢说,这几道笔试题你不一定会
2019-05-01
MySql运行状态分析
2019-05-01
Centos 服务器配置MariaDB10 远程连接
2019-05-01
解决邮件发送错误:503 Error: need EHLO and AUTH first
2019-05-01
SpringBoot使用QQ邮箱发送包含附件的邮件
2019-05-01