2015-09-26 46 views
0

當我在讀「JAVA思維」一書時,發現了一個關於JAVA多線程的問題。關於JAVA多線程:如何創建一個擴展線程並實現Runnable的過程

class ThreadMethod { 
    private int countdown = 5; 
    private Thread t; 
    private String name; 

    public ThreadMethod(String name) { 
     this.name = name; 
    } 

    public void runTask() { 
     if (t == null) { 
      t = new Thread(name) { 
       public void run() { 
        while (true) { 
         System.out.println(this); 
         if (--countdown == 0) return; 
         try { 
          sleep(10); 
         } catch (InterruptedException e) { 
          System.out.println("interrupted"); 
         } 
        } 
       } 

       public String toString() { 
        return getName() + ": " + countdown; 
       } 
      }; 
      t.start(); 
     } 
    } 
} 

public class ThreadVarations{ 
    public static void main(String[] args) { 
     for(int i=0;i<10;i++) 
     new ThreadMethod("ThreadMethod").runTask(); 
    } 
} 

類ThreadMethod不extends Threadimplements Runnable。那麼這個類如何創建一個過程?

+0

你跳過有關匿名類的章?看一下'new Thread(name){public void run(){...}}'。 – Pshemo

+1

我不知道如何描述我的心情。這是一個非常低級別的錯誤。事實上,當我問這個問題時,我意識到我錯了。我想念「線程私人」。 –

回答

0

您需要啓動一個新的線程與實現Runnable一個給定的類,並呼籲啓動它,run()將在其他線程調用的方法。

new Thread(new ThreadMethod).start(); 
相關問題