2015-09-26 47 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(); 
相关问题