黑马程序员技术交流社区

标题: 多线程 [打印本页]

作者: qmayuan    时间: 2013-8-11 23:27
标题: 多线程
实现多线程有两种方式  一个是继承Thread类。然后重写run方法,具体是 直接实例化然后调用start方法。
第二种是实现runnable接口  也要重写run方法。 但在实现的时候需要  实例化这个对象  还要实例化Thread类,才能调用start方法,我是这么理解的,不知道对不对
但是这两种方法的根本区别是什么,  什么时候该用哪种?

作者: ☆今☆    时间: 2013-8-11 23:48
这两个的区别,应该是实现和继承的区别;继承只能单继承,而实现却还可以去继承别的类。所以,如果有父类的类只能实现Runnable。没有继承父类两者都行,可能用继承的还简单一点。还有一个实现runnable的接口的对象可以作为参数传递给多个线程。那么多个线程可以共享这个对象的neurobg
作者: 神之梦    时间: 2013-8-11 23:49
因为java不支持多继承类,所以如果一个类要继承其他类又要多线程的时候,就只能去实现接口了
作者: ☆今☆    时间: 2013-8-11 23:50
可以共享这个对象的内容,如果是继承可能得把共享的变量定义为静态。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2