Java中Runnable和Thread

java中有两种实现多线程的方式:一种是继承Thread类,一种是实现Runnable接口。

1.java启动线程为什么使用start函数呢?

在JDK的安装路径下,src.zip是全部的java源程序,通过此代码找到Thread中的start()方法的定义,可以发现此方法中使用了private native void start0();

其中native关键字表示可以调用操作系统的底层函数,那么这样的技术成为JNI技术(java Native Interface)。

2.联系和区别:

Thread类,有一个构造方法:public Thread(Runnable targer)此构造方法接受Runnable的子类实例,也就是说通过Thread类来启动Runnable实现的多线程。(start()可以协调系统的资源)。

在程序开发中多线程以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类,避免继承的局限,一个类可以实现多个接口。

posted @ 2016-03-16 11:26  云中飞鱼  阅读(246)  评论(0编辑  收藏  举报