黑马程序员技术交流社区
标题:
线程的两种实现方式
[打印本页]
作者:
せR3n、何必装纯
时间:
2011-11-11 22:38
标题:
线程的两种实现方式
在通过继承Thread创建的线程和通过实现Runnable接口创建的线程有什么区别吗?什么情况下使用继承Thread创建的线程,什么情况下使用实现Runnable接口创建的线程?
作者:
王新春
时间:
2011-11-11 22:52
使用Runnable接口创建线程
1.可以将CPU,代码和数据分开,形成清晰的模型
2.线程体run()方法所在的类可以从其它类中继承一些有用的属性和方法
3.有利于保持程序的设计风格一致
直接继承Thread类创建对象
1.Thread子类无法再从其它类继承(java语言单继承)。
2.编写简单,run()方法的当前对象就是线程对象,可直接操作。
因为java是单继承,所以要是类中用到继承的话,这时候就用使用Runnable接口创建线程
一般都会采用使用Runnable接口创建线程的方法。
作者:
xiwangliujiao
时间:
2011-11-11 23:30
1.继承Thread类,需要重写父类的run()方法,其目的是规定线程的具体操作,否则线程就什么也不做,因为在父类的run()方法中没有任何操作语句,此种方法的优点是可以在子类中增加新的成员变量,使线程具有某种属性;也可以在子类中新增方法,是线程具有某种功能。
2. 实现 Runnable接口,将该类绑定到新建的Thread对象上,当线程启动后,目标对象就会自动调用接口中的run()方法。
一般都建议用第二种方法,因为java中的类是单继承的,一旦类继承了其他的类之后就能再继承thread了,而接口可以实现多个,而且操作起来更具有灵活性。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2