Java中的所有线程必须实现哪种方法?

在创建线程类时,我们必须重写Thread类的run()方法。该方法为线程提供了一个入口点,您将把完整的业务逻辑放入该方法中。

示例

class ThreadDemo extends Thread {
   private String threadName;

   ThreadDemo( String name) {
      threadName = name;
      System.out.println("Creating " +        threadName );
   }

   public void run() {
      System.out.println("Running " +          threadName );
      try {
         for(int i = 4; i > 0; i--) {
            System.out.println("Thread: " + threadName + ", " + i);
           
            //让线程休眠一会儿。
            Thread.sleep(50);
         }
      } catch (InterruptedException e) {
         System.out.println("Thread " +      threadName + " interrupted.");
      }
      System.out.println("Thread " +     threadName + " exiting.");
   }
}

public class TestThread {
   public static void main(String args[]) {
      ThreadDemo T1 = new ThreadDemo( "Thread-1");
      T1.start();
      ThreadDemo T2 = new ThreadDemo( "Thread-2");
      T2.start();
   }
}

输出结果

Creating Thread-1
Creating Thread-2
Running Thread-1
Thread: Thread-1, 4
Running Thread-2
Thread: Thread-2, 4
Thread: Thread-1, 3
Thread: Thread-2, 3
Thread: Thread-1, 2
Thread: Thread-2, 2
Thread: Thread-1, 1
Thread: Thread-2, 1
Thread Thread-1 exiting.
Thread Thread-2 exiting.