Java中两种多线程实现方法:Thread类和Runnable接口的联系与区别

时间:2021-05-18 17:30:51

Thread类和Runnable接口两种实现方法都是通过Thread类的start()函数启动的,Thread类也是Runnable接口的子类,但是没有完全实现接口中的run()方法。Thread类与Runnable子类同时实现了Runnable接口,类似于代理设计模式。
Thread类、Runnable接口、Runnable子类之间的关系如下:

实现Runnable接口相对继承Thread类来说有如下优势:
1、适合多个相同程序代码的线程去处理同一资源的情况;
2、可以避免由于Java的单继承特性带来的局限
3、增强了程序的健壮性,代码能够被多个程序共享,代码与数据是独立的。