黑马程序员技术交流社区
标题:
关于多线程的实现
[打印本页]
作者:
2012
时间:
2013-9-15 10:09
标题:
关于多线程的实现
我知道java创建线程类的两中方式,一种是继承Thread类,一种是实现Runnable接口。
我不明白的地方是:在实际开发中,用那种方式好一些呢?
他们的性能上有很大的区别吗?
有的人说建议使用第二种,就是实现Runnable接口,这样推荐,只是为了避免java的单继承吗?
这两种方式在底层的实现有什么不同?
希望大神们能给我一点点好的建议。谢谢
作者:
☆星痕泪
时间:
2013-9-15 11:57
今天我也在学这个,说说我的理解哈。
按老师说的,实现方式是避免了单继承的局限性,例如:当一个A类已经继承了另一个B类,但是A类的类里面还有需要多线程,他就不能再去继承了,但是实现方式可以多实现,既能让A类继承B又能让A一个以上的多实现。
因为这两个方式的线程代码存放的地方不同,继承是放在Thread子类run方法中;
实现是放在runnable接口子类run方法中的,希望对你有所帮助。
作者:
杨增坤
时间:
2013-9-16 11:35
1.Runnable接口可以避免单继承的限制,要是继承Thread类的话,那么就不能继承其他的类了,因为只能单继承,如果实现了接口Runnale后,还可以继承其他的类,或是是实现其他的接口
2.Runnable实现了资源的共享,例如(售票程序的票)
3.Runnable实增强了程序的健壮性,代码能够被多个程序共享,实现了数据 与代码是独立的。
4.实现Runnable接口的线程的运行代码存在实现Runnable接口子类的run()方法中,继承Thread类的线程的代码存在Thread子类的run()方法中。
所以在以后的开发中,使用Runnble接口比较好,更多。
要是还不明白,请参考:
点击
作者:
狼人→浪人
时间:
2013-9-16 12:12
实现Runnable接口这种方法的好处:避免了单继承的局限性,在定义线程是建议使用实现现Runnable接口方式。
两种方法的区别:
继承Thread类方式:线程代码存放在Thread子类的run方法中。
实现Runnable接口方式:线程代码存放在Runnable接口实现类run方法中。
我看视频刚解决这个问题
作者:
王广亚
时间:
2013-9-16 18:59
本帖最后由 王广亚 于 2013-9-16 19:02 编辑
{:soso_e109:}都让你们说完了,我说什么!{:soso_e109:}
不过还得要说说,我感觉,除了上面所说的Runnable接口可以避免单继承的限制,还有一点就是一个类对象可以实现多个线程,这样就实现了数据的共享性,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2