Java中多執行緒的使用(超級超級詳細) Thead類的使用 3
下面我們先來介紹一些基本方法
構造方法
public Thread() :分配一個新的執行緒物件,
public Thread(String name) :分配一個指定名字的新的執行緒物件,
public Thread(Runnable target) :分配一個帶有指定目標新的執行緒物件,
public Thread(Runnable target,String name) :分配一個帶有指定目標新的執行緒物件并指定名字,
常用方法
public String getName() :獲取當前執行緒名稱,
public void start() :導致此執行緒開始執行; Java虛擬機呼叫此執行緒的run方法,
public void run() :此執行緒要執行的任務在此處定義代碼,
public static void sleep(long millis) :使當前正在執行的執行緒以指定的毫秒數暫停(暫時停止執行),
public static Thread currentThread() :回傳對當前正在執行的執行緒物件的參考
創建執行緒的方式有兩種 一種是繼承Thead類的方式,一種是實作Runable介面的方式,下面我們來逐一講解
繼承Thead類的方式
//繼承Thread介面
public class MyThread extends java.lang.Thread{
public MyThread(String name) {
super(name);
}
//覆寫run方法
@Override
public void run() {
int i=20;
for (int i1 = 0; i1 < i; i1++) {
System.out.println("輔執行緒"+i1);
}
}
}
創建執行緒的方式二
使用Runable介面來實作
怎么使用Runable介面
1.定義一個類繼承Runable介面,并實作其run()方法;
2.創建Runable物件,并以該物件作為Thread的target來創建Thread物件,該Thread物件才是真正的執行緒物件
3.呼叫Thread的start()來啟動該執行緒
下面使用一段代碼來演示
package Rubable;
public class RunableImp implements Runnable {
@Override
public void run() {
int i=20;
for (int i1 = i; i1 > 0; i1--) {
System.out.println("Runable介面:"+i1);
}
}
}
package Rubable;
public class Main {
public static void main(String[] args) {
RunableImp runableImp = new RunableImp();
Thread r = new Thread(runableImp);
r.start();
int i=20;
for (int i1 = i; i1 > 0; i1--) {
System.out.println("主執行緒:"+i1);
}
}
}
可以看到實作Runable介面,只是使該類具有了多執行緒的特征,run()方法使多執行緒程式的一個執行目標所有多執行緒的代碼都在run()方法里面,Thread其實也是實作了Runable介面的類
所有的多執行緒代碼都是通過Thread的start方法來運行的,所以,不管是繼承Thread還是實作runable介面來實作多執行緒,最終都是通過Thread的物件的APIA來控制執行緒
即Runalbe物件僅僅是作為Thread物件的target,Runable實作類里包含的run()方法僅作為執行緒的執行體,而實際的物件依然是Thread實體,只是執行緒負責執行其target的run方
使用Runable類的好處
1.避免了類單繼承的局限性
2.增加了程式的健壯性,實作解耦操作,代碼可以被多個執行緒共享,代碼與執行緒獨立
3.執行緒池中只可以放入Runable或Callable類執行緒,不能放入繼承Thread的類
小細節:
java在一次運行中至少會啟動兩個執行緒,一個main執行緒一個垃圾收集執行緒,java命令在執行一個類的時候,實際都會啟動一個jvm,每一個jvm其實就是在作業系統中啟動了一個行程
扯點匿名內部類的操作
有沒有一點一氣呵成的感覺
package Rubable;
public class Main {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("這是匿名內部類輸出的!!!");
}
}).start();
}
}
結果

以上就是java操作匿名內部類的一些基礎操作,如有錯誤還請各位批評指正
覺得還不錯的可以點贊收藏一下,我會不定期更新文章,喜歡我的也可以關注我哦

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/141651.html
標籤:Java
