java中,线程实现有3种方式
1.继承自Thread类,Thread类是所有线程类的父类,实现了对线
- 定义一个类,
继承自Thread类
,并重写该类的run方法,该run方法的方法体就代表了线程需要完成的任务,因此,run方法的方法体被称为线程执行体 - ②.
创建Thread子类的对象
,即创建了子线程 - ③.用线程
对象的start方法
来启动该线程
2.实现Runnable接口
a.定义一个Runnable接口的实现类,并重写该接口中的run方法,该run方法的方法体同样是该线程的线程执行 体
b.创建Runnable实现类的实例,并以此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象
c.调用线程对象的start方法来启动该线程
两者区别:
继承Thread类.与实现Runnable接口
实现接口可以多实现,打破这个单继承限制
实现接口只是把任务描述出来了
继承类是吧任务与线程打包了,直接创建对象就是一个线程
runnable接口可以共享资源