1. 程式人生 > >匿名內部類建立執行緒的兩種方式

匿名內部類建立執行緒的兩種方式

我們知道多執行緒的實現有兩種方式,一種是繼承Thread類,另一種是實現Runnable介面,然後再重寫run方法,最後開啟執行緒。我們在普通的建立執行緒中,顯然是比較麻煩的,那麼有沒有一個簡單的方法呢?今天小錢就給大家介紹使用匿名內部類建立執行緒,為什麼要使用匿名內部類呢,因為使用它程式碼更簡潔也更方便,同樣地,它也有兩種方式:下面我們來看第一種使用匿名內部類建立執行緒的方式:
1.首先我們要在一個類中new出一個繼承Thread類;
2.然後重寫run方法;
3.將我們要執行的程式碼寫在run方法中。下面我們來看一個Demo案例:

package cn.edu.jit.thread;
/**
 * 匿名內部類實現執行緒的兩種方式
 * @author kevin
 *
 */
public class ThreadDemo04 {
    public static void main(String[] args) {
        /*
         * 第一種方式:
         * 1.繼承Thread類
         * 2.重寫run方法
         * 3.將要執行的程式碼寫在run方法中
         */
        new Thread() {
            public
void run() { for (int i = 0; i < 10; i++) { System.out.println("aaaaaaaaa"); } } }.start();//開啟執行緒 } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

將new繼承Thread類的花括號後面必須要.start()方法,說明該執行緒開啟。
執行結果:

aaaaaaaaa
aaaaaaaaa
aaaaaaaaa
aaaaaaaaa
aaaaaaaaa
aaaaaaaaa
aaaaaaaaa
aaaaaaaaa
aaaaaaaaa
aaaaaaaaa
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

以上就是匿名內部類建立執行緒繼承Thread類完成了,那麼實現Runnable介面,我們該怎麼做呢?
1.將Runnable的子類物件傳遞給Thread的構造方法;
2.重寫run方法;
3.將執行的程式碼寫在run方法中,最後我們開啟執行緒。
下面我們繼續看這個案例:

        /*
         * 第二種方式:
         * 1.將Runnable的子類物件傳遞給Thread的構造方法
         * 2.重寫run方法
         * 3.將執行的程式碼寫在run方法中,最後我們開啟執行緒
         */
        new Thread(new Runnable() {
            public void run() {
                for (int i = 0; i < 10; i++) {
                    System.out.println("bbbbbbbbb");
                }
            }
        }).start();//開啟執行緒
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

執行結果:

bbbbbbbbb
bbbbbbbbb
bbbbbbbbb
bbbbbbbbb
bbbbbbbbb
bbbbbbbbb
bbbbbbbbb
bbbbbbbbb
bbbbbbbbb
bbbbbbbbb
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

以上就是介紹匿名內部類建立執行緒的兩種方式。

我們知道多執行緒的實現有兩種方式,一種是繼承Thread類,另一種是實現Runnable介面,然後再重寫run方法,最後開啟執行緒。我們在普通的建立執行緒中,顯然是比較麻煩的,那麼有沒有一個簡單的方法呢?今天小錢就給大家介紹使用匿名內部類建立執行緒,為什麼要使用匿名內部類呢,因為使用它程式碼更簡潔也更方便,同樣地,它也有兩種方式:下面我們來看第一種使用匿名內部類建立執行緒的方式:
1.首先我們要在一個類中new出一個繼承Thread類;
2.然後重寫run方法;
3.將我們要執行的程式碼寫在run方法中。下面我們來看一個Demo案例: