线程优于Runnable

可能重复:
Java:“实现Runnable”与“扩展线程”

1)为什么Java语言提供了Thread和Runnable? 2)线程优于可运行的(为什么Java不能提供可运行的)3)我们可以做一个可运行的睡眠,给它一个ID等?


1.线程是一个类,并且当你说.start()创建一个thread of execution ,其被附接到螺纹类的一个实例。 Runnable的run()方法被称为使其执行任务到 thread of execution ,并且start()方法快速返回。

2. Runnable是分配给newly created thread of executiontask

3. 如果没有Thread类,则无法运行Runnable。


1)线程是一个类,包含功能 - 而runnable是一个接口,因此只是实现类服从的“契约”。 由于Runnable只是一个接口,你需要实例化一个线程来包含它。 而线程已经包含了产生线程的能力。

2)实现Runnable是建议的方式,因为如果扩展Thread,则不能扩展任何其他内容(Java不支持多重继承)。 你可以在一个类上有多个接口,因此你可以有Runnable +许多其他的接口,并且还可以扩展另一个基类

3)从Runnable的实例化中取出线程并使其进入休眠状态 - this.sleep()

链接地址: http://www.djcxy.com/p/92067.html

上一篇: Advantage of Thread over Runnable

下一篇: Thread Vs Runnable