多線程基礎知識

 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();
 

每個線程都有一個標識名,多個線程可以同名。如果線程創建時沒有指定標識名,就會爲其生成一個新名稱。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章