线程创建和启动

tez*_*tez 0 java

两者之间有区别吗?

class MyThread extends Thread
{
}

MyThread obj = new MyThread();
Thread t = new Thread(obj);
t.start()
Run Code Online (Sandbox Code Playgroud)

VS

obj.start()
Run Code Online (Sandbox Code Playgroud)

选择一个优于其他优势是否有任何优势?

Mar*_*eel 5

一般来说,你不应该扩展Thread,而是实现Runnable.那么你的例子将成为:

class MyRunnable implements Runnable {

   public void run() {
      // Whatever needs to be done.
   }
}

MyRunnable obj = new MyRunnable();
Thread t = new Thread(obj);
t.start()
Run Code Online (Sandbox Code Playgroud)