Runnable接口实现多线程|学习笔记-阿里云开发者社区

开发者社区> 【开发者学堂】官方技术圈> 正文
登录阅读全文

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类对象启动多线程。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云开发者学堂,是开发者学习成长的一站式学习平台。平台源源不断的生产优质体系化课程、优质内容如电子书、直播、体验场景、训练营等,为开发者构建完善的学习成长体系,为开发者赋能。目前,开发者学堂包含数据库、大数据、云原生、AI、IoT等各大热门领域精品课,全部免费对开发者开放。

官方博客
最新文章
相关文章
官网链接