匿名內部類建立執行緒的兩種方式
我們知道多執行緒的實現有兩種方式,一種是繼承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案例: