首頁  >  文章  >  Java  >  Java:使用匿名內部類別在方法內部定義並啟動線程

Java:使用匿名內部類別在方法內部定義並啟動線程

高洛峰
高洛峰原創
2016-12-15 13:17:561373瀏覽

下面的程式碼展示了在一個方法中,透過匿名內部類別定義一個Thread,並Override它的run()方法,之後直接啟動該執行緒。

這樣的程式碼可用於在一個類別內部透過另一個執行緒來執行一個支線任務,一般這樣的任務並不是該類別的主要設計內容。

package com.zj.concurrency;
 
public class StartFromMethod {
    private Thread t;
    private int number;
    private int count = 1;
 
    public StartFromMethod(int number) {
       this.number = number;
    }
 
    public void runTask() {
       if (t == null) {
           t = new Thread() {
              public void run() {
                  while (true) {
                     System.out.println("Thread-" + number + " run " + count
                            + " time(s)");
                     if (++count == 3)
                         return;
                  }
              }
           };
           t.start();
       }
    }
 
    public static void main(String[] args) {
       for (int i = 0; i < 5; i++)
           new StartFromMethod(i).runTask();
    }
}

結果:

Thread-0 run 1 time(s)

Thread-0 run 2 time(s)

Thread-1 run 1 time(s)

Th.1

Thread-2 run 1 time(s)

Thread-2 run 2 time(s)

Thread-3 run 1 time(s)

Thread-3 run 2 time(s)

Thread-3 run 2 time(s)

time(s)

Thread-4 run 2 time(s)


更多Java:使用匿名內部類別在方法內部定義並啟動線程相關文章請關注PHP中文網! 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn