建立多執行緒的7種方式

2021-08-19 06:55:24 字數 1059 閱讀 6690

1,繼承thread

主要掌握:執行緒的初始化,啟動,中斷的正確處理方式(interrupted)

public class demo1

}class mythread extends thread

}2,實現runnable

原始碼解析,為什麼會呼叫runnable的run方法

public class demo2

}class myrunnable implements runnable

}3,匿名內部類的方式(執行緒只建立一次的情況)

有兩種方式

public class demo3 ;

}.start();

new thread(new runnable()

}).start();}}

給大家留個思考題,如果兩種都兼顧,執行的時候會採用哪種?為什麼?

new thread(new runnable()

});}.start();

4,帶返回值的執行緒,實現callable介面

實現call方法

futuretask對任務進行封裝

5,使用定時器的方式

timer,timertask,執行定時任務

6,使用執行緒池的方式

通過executors建立不同的執行緒池進行任務執行

7,lambda表示式(函式式程式設計)jdk1.8提供的新特

lambda表示式**簡潔,實現方便,對併發支援好,效能高

我們通過列印乙個集合的資料來觀察執行結果,發現出來的順序是不一致的,說明是多執行緒方式

多執行緒 兩種方式建立執行緒

第一種方式 繼承thread類 public class threaddemo extends thread catch interruptedexception e if s 50 public static void main string args 第二種方式 實現runnable介面 pub...

多執行緒 四種建立方式

public class threadestablish1 start 主線程 for int i 0 i 100 i 1.建立乙個實現了thread類的子類 class subthread extends thread 注意點 如果自己手動呼叫run 方法,那麼就只是普通方法,沒有啟動多執行緒模式...

建立多執行緒的三種方式

首先需要理解清楚程式 程序 執行緒 程式 即靜態的 塊 程序 執行中的程序 執行緒 程序的進一部細分,程式的一條執行路徑 第一種 建立乙個類繼承thread,並重寫run 方法 第一種方法 建立乙個繼承thread的子類 class subthread extends thread public c...