【发布时间】:2013-05-05 12:54:00
【问题描述】:
我试图找出扩展 Thread 类的可能优势是什么?
这是我描述的另一个问题的一部分: Java有两种创建线程的方式
- 从 Thread 类扩展
- 实现可运行接口
正如here 所解释的那样,使用可运行接口有几个好处。我的问题是从 Thread 类扩展有什么好处?我想到的唯一优点是可以从 Thread 类扩展,我们可以称之为 ThreadExtended 类。然后他/她可以在 ThreadExtended 中添加更多功能(我不知道那可能是什么),然后当他/她想创建一个线程时,而不是从 Thread 类扩展,它从 ThreadExtended 扩展。
使用 Thread 类代替 Runnable 接口有什么好处吗?您是否知道任何从 Thread 类扩展的类,然后要求用户从这些类扩展,如果他们想要具有多线程功能?
public class ThreadExtended extends Thread{
//override some functions || add more functionality to Thread class
}
public class MyThread extends ThreadExtended{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("Using ThreadExtended instead of Thread directly");
}
}
public static void main(String args[])
{
MyThread myThread = new MyThread();
myThread.start();
}
}
【问题讨论】:
-
在java中创建线程只有一种方法,那就是实例化
Thread并在其上调用start()。 -
@SotiriosDelimanolis 我明白,我问的是扩展而不是实例化
-
请注意我提出的问题,它与您认为它重复的问题略有不同。谢谢
-
扩展类不会创建线程。
-
@SotiriosDelimanolis 我从 ThreadExtended 扩展而来,它从 Thread 类扩展而来,所以我在那个类上调用 start,不是吗?
标签: java multithreading