Java创建多线程的俩种方式继承Thread类与实现Runnable接口

多线程的创建有俩种方式:一、继承Thread类;二、实现Runnable接口。

一、继承Thread类

继承Thread类本质上是实现了一个继承Runnable接口的一个实例,它代表一个线程的实例,并且启动由这种方法创建的线程方法只有一种,就是通过start实例方法,并执行run的方法,start是一个原生方法。这种方式实现多线程简单,通过自己的类直接extend Thread,并重写run方法,就可以自定义线程的方法。

二、实现Runnable接口

当我们的类以及extend一个其他类后,再想开启线程,就只能使用implement Runnable接口的方法去开启线程,因为Java中是单继承多实现。首先需要实例化一个Thread,并传入已经实现好的Runnable接口的目标对象。

两者的区别

  • 单继承多实现:一个类只能继承一个父类,但是一个类可以实现多个接口。
  • 在实现Runnable接口的时候调用Thread创建进程的时候,使用同一个Runnable实列,则创建的多线程实例变量也是共享的。但是通过继承Thread类i是不能用一个实例简历多个简称的,所以Runnable接口适用于资源共享,虽然继承Thread类的也能共享变量,但是只能共享静态变量。
  • Thread类的底层也是Runnable的子类。

猜你喜欢

转载自blog.csdn.net/weixin_46304253/article/details/114630767