线程优于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 execution
的task
。
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