开发者学堂课程【Java高级编程:Runnable接口实现多线程】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20
Runnable接口实现多线程
虽然可以通过Thread类的继承来实现多线程的定义,但是在Java程序里面对于继承永远都是存在有单继承局限的,所以在JAVA里面又提供有第二种多线程的主体定义结构形式:实现java.lang.Runnable接口,此接口定义如下:
但是此时由于不再继承Thread父类了,那么对于此时的MyThread类中也就不再支持有start()这个继承的方法,可是如果不使用Thread.start()方法是无法进行多线程启动的,那么就需要去观察一下Thread类所提供的构造。
·构造方法: public Thread(Runnable target);
范例:启动多线程
多线程实现里面可以发现,由于只是实现了Runnable 接口对象,所以此时线程主体类上就不再有单继承局限了,这样的设计才是一个标准型的设计。
可以发现从JDK1.8开始,Runnable接口使用了函数式接口定义,所以也可以直接利用Lambda表达式进行线程类实现。
范例:利用Lambda实现多线程定义。
在以后的开发之中对于多线程的实现,优先考虑Runnable接口实现,并且永恒都是通过Thread类对象启动多线程。