下面的三個例子使用了不同的方式完成了同樣的事情。 實現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()。
