启动一个线程的三种方法

下面的三个例子使用了不同的方式完成了同样的事情。

实现Runnnable的方式:
void startAThread0() {
  new Thread(new MyRunnable()).start();
}
 
class MyRunnable implements Runnable {
  public void run() {
    ...
  }
}


继承Thread的方式:
void startAThread1() { new MyThread().start(); } class MyThread extends Thread { public void run() { ... } }


匿名继承Thread的方式:
void startAThread2() { new Thread() { public void run() { ... } }.start(); }

不要直接调用run()方法。总是调用Thread.start()方法,这个方法会创建一条新的线程并使新建的线程调用run()。

 

上一篇:妹子问我为啥启动线程时使用 start 而不是 run


下一篇:ROS开机自启动