我刚刚发现我可以用一个简单的方法创建一个新线程
Thread myThread = new Thread() {
public void run() {}
}
但是大多数书籍建议我创建一个扩展 Thread 的类,当我可以直接实例化 Thread 类时,这对我来说似乎有点太多了。我声明新线程而不是创建新类的方式有什么问题吗?
最佳答案
我建议根本不要扩展Thread
本身。相反,使用接受 Runnable
的 Thread
重载:
Thread thread = new Thread(new Runnable() {
@Override public void run() {
...
}
});
您并没有真正改变Thread
的行为 - 只是给它一些运行代码。上面的代码比子类化 Thread
更清楚地体现了这一点。
请注意,您还应该考虑使用 ExecutorService
而不是直接创建线程。这是创建 Runnable 的另一个好处 - 然后您可以灵活地将其传递给 Thread 构造函数或使用 ExecutorService ......您可以抽象出Runnable
创建代码,然后使用您想要的任何方法。
关于java - 我应该创建一个新线程作为扩展 Thread 的类,还是只进行一个新的 Thread 对象实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25653910/