/*
//方法一:
1.建立乙個類繼承thread類
2.重寫run方法
3.啟動.start()
class demo extends thread
@override
public void run()
}}public class threadtest }*/
/*方法二:
1.建立類實現runnable介面
2.實現run()方法,將執行緒任務定義到run方法中
3.建立thread物件,只有建立thread類的物件才可以建立執行緒
4.將runnable介面的子類物件作為引數傳給thread類的建構函式.
因為執行緒任務已被封裝到runnable介面的run方法中,而這個run方法所屬於runnable介面的子類物件
所以將這個子類物件作為引數傳遞給thread的建構函式,這樣,執行緒物件建立時就可以明確要執行的執行緒任務.
5.呼叫thread類的start()方法
好處: 實現介面避免單繼承的侷限性,比較常用
降低執行緒物件和執行緒任務的耦合性
簡易源**:
class thread
public void run()
}public void start()
}runnable d = new demo();
thread t = new thread(d);
t.start();
*/class
demo
implements
runnable
@override
public
void
run()}
}public
class
threadtest
}
多執行緒 兩種方式建立執行緒
第一種方式 繼承thread類 public class threaddemo extends thread catch interruptedexception e if s 50 public static void main string args 第二種方式 實現runnable介面 pub...
多執行緒的建立方式及兩種方式比較
1.方式一 繼承與thread類 1.建立乙個繼承於thread類的子類 2.重寫thread的run 將此執行緒將要執行的操作執行在類中 3.建立thread類的子類的物件 4.通過此物件呼叫start 例子如下 遍歷一百以內的所有偶數 源 class mythread extends threa...
多執行緒 01 建立執行緒的兩種傳統方式
package com.renrenche.thread public class traditionalthread catch interruptedexception e system.out.println 1 thread.currentthread getname system.out....