关闭

Java 多线程实现接口Runnable和继承Thread区别 (2

191人阅读 评论(0) 收藏 举报
分类:

Java 多线程实现接口Runnable和继承Thread区别

  (2014-07-15 21:42:35)

目前Java中实现多线程可通过实现Runnable接口或者继承Thread,他们之间存在不少区别,建议使用Runnable;

 

首先建立多线程,

extend Thread类:

Java <wbr>多线程实现接口Runnable和继承Thread区别

实现Runnable接口:
Java <wbr>多线程实现接口Runnable和继承Thread区别
测试程序:

Java <wbr>多线程实现接口Runnable和继承Thread区别

区别与联系:

1, 一个类只能继承一个父类,存在局限;一个类可以实现多个接口

2, 在实现Runable接口的时候调用Thread的Thread(Runnable run)或者Thread(Runnable run ,String name)构造方法创建进程时,使用同一个Runnable实例,如上程序中使用的都是rt,则建立的多线程的实例变量也是共享的;

但是通过继承Thread类是不能用一个实例建立多个线程;

故而实现Runnable接口适合于资源共享;

当然,继承Thread类也能够共享变量,能共享Thread类的static变量;

3, Runnable接口和Thread之间的联系:

public class Thread extends Object implements Runnable

可以看出Thread类也是Runnable接口的子类;

下面大家可以直接去看Thread的源代码。Java <wbr>多线程实现接口Runnable和继承Thread区别

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:61078次
    • 积分:1206
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:283篇
    • 译文:0篇
    • 评论:3条
    最新评论