`

实现多线程使用继承Thread类和Runnable的原因

阅读更多
我们都知道实现多线程的两种方式,一种是继承Thread类,另一种是实现runnable接口。并用runnable接口的实现类创建线程。
使用Thread实现类来实现多线程的原因。
Thread是代表线程类,当线程运行时执行的是里面的run方法。然后Thread类中的默认的run方法代码如下
public void run() {
if (target != null) {
    target.run();
}
    }
其中target表示Thread中一个实现Runnable接口的成员变量类。因此默认情况下,new Thread()出的线程执行的时候不会进行任何操作。因此要想让run方法里面运行我们想要的操作。就通过继承Thread类,然后子类重写run方法就可以了。
使用Runnable实现线程的原因
因为Thread的run方法中判断构造方法中是否传入了Runnable实现,默认情况下会传递null给线程的target成员变量。所以可以通过传递target值,然后Thread的run方法就会调用Runnable的实现类的run方法来执行我们自定义的操作逻辑了
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics