我正在尝试找出扩展Thread类的可能优势是什么?
这是另一个问题的一部分,我描述如下: 在Java中有两种创建线程的方式
1.继承Thread类 2.实现可运行接口
如此处所述,使用可运行接口有几个好处。我的问题是从Thread类继承有什么优点?唯一想到的优点是可以从Thread类继承,并称其为ThreadExtended类。然后可以在ThreadExtended中添加更多功能(我不知道可能是什么),当想要创建一个线程时,可以从ThreadExtended而非Thread类进行扩展。
使用Thread类而非Runnable接口是否有任何优势?您是否知道任何从Thread类继承并要求用户从这些类继承以获得多线程功能的类?
这是另一个问题的一部分,我描述如下: 在Java中有两种创建线程的方式
1.继承Thread类 2.实现可运行接口
如此处所述,使用可运行接口有几个好处。我的问题是从Thread类继承有什么优点?唯一想到的优点是可以从Thread类继承,并称其为ThreadExtended类。然后可以在ThreadExtended中添加更多功能(我不知道可能是什么),当想要创建一个线程时,可以从ThreadExtended而非Thread类进行扩展。
使用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();
}
}
Thread
对象并调用它的start()
方法。 - Sotirios DelimanolisThread
类本身并不会启动线程。这是语义学问题! - Sotirios Delimanolis