从上面代码可以看出,当使用Runnable接口创建多线程时,需要将实现类作为参数出入到Thread实例对象中,通过调用Thread对象的start方法进行启动。我们来看一下Thread的源码
从以上追踪源码过程可以看出,Thread类实现了 Runnable 接口,而继承Thread类重写 run 方法本质就是实现Runnable接口的 run 方法。
通过以上分析,总结使用 Thread 类和 Runnable 接口的区别:
使用继承 Thread 类实现多线程相比于 Runnable 更加简单,使用 Runnable 接口需要使用 Thread进行再次封装。由于 Java 中不支持多继承,一个类继承了 Thread 类后无法再继承其他类,因此使用 Runnable 接口实现多线程有更好的灵活性。除了以上两种多线程实现方式,还可以使用 Callable 接口实现,我写了一篇关于 Callable 和 Runnable 接口实现多线程对比的总结:
使用Runnable和Callable接口实现多线程的区别
到此这篇关于使用Thread类和Runnable接口实现多线程的区别的文章就介绍到这了,更多相关Thread类和Runnable接口实现多线程内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!