public class Thread extends Object implements Runnable
創建新執行線程有兩種方法。一種方法是將類聲明爲 Thread
的子類。該子類應重寫 Thread
類的 run
方法。接下來可以分配並啓動該子類的實例。例如,計算大於某一規定值的質數的線程可以寫成:
class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime . . . } }然後,下列代碼會創建並啓動一個線程:
PrimeThread p = new PrimeThread(143); p.start();創建線程的另一種方法是聲明實現
Runnable
接口的類。該類然後實現run
方法。然後可以分配該類的實例,在創建Thread
時作爲一個參數來傳遞並啓動。採用這種風格的同一個例子如下所示:
class PrimeRun implements Runnable { long minPrime; PrimeRun(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime . . . } }然後,下列代碼會創建並啓動一個線程:
PrimeRun p = new PrimeRun(143); new Thread(p).start();每個線程都有一個標識名,多個線程可以同名。如果線程創建時沒有指定標識名,就會爲其生成一個新名稱。