多執行緒基礎總結

2021-09-02 13:01:12 字數 760 閱讀 9626

1、實現

繼承thread

實現runable

2、啟動

thread.start(),執行緒的建立涉及作業系統的操作,因此是本地方法。啟動執行緒的run方法將被執行。

3、常用方法

休眠 thread.sleep(long millis)

讓步 thread.yield() 目的是讓相同優先順序的執行緒之間能適當的輪轉執行

優先順序 thread.setpriority(8)

等待 thread.join() 等待t執行緒結束後再往下執行

中斷 thread.interrupt()

等待 thread.wait() 阻塞,執行緒通迅用到

喚醒 thread.notify() 喚醒單個執行緒

喚醒 thread.notifyall()  喚醒所有執行緒

4、執行緒狀態

新狀態 執行緒物件已經建立,還沒有呼叫start()方法

可執行 還沒有把它選定為執行執行緒時執行緒所處的狀態

正執行 執行緒排程從可執行池中選擇乙個執行緒作為當前執行緒時執行緒所處的狀態

等阻睡 執行緒仍舊是活的,但是當前沒有條件執行

死亡態 當執行緒的run()方法完成時就認為它死去

5、同步

volatile 變數對所有執行緒是立即可見的

synchrionized  可能產生死鎖

多執行緒基礎知識總結

1.什麼是執行緒 程式 程序 執行緒 協程 執行緒 簡單的說就是乙個程式裡面不同的執行路徑就是乙個執行緒 public class whatisthread catch interruptedexception e 當直接執行run方法不是由執行緒去排程的 因此是在同乙個main執行緒執行的 當呼叫...

多執行緒總結

多執行緒的重要性和作用我就不做說明了。直接進入正題,整理下,整理了下網上的若干資源,寫得很好的 一 首先不用說是msdn 1.system.threading 命名空間 system.threading命名空間提供一些使得可以進行多執行緒程式設計的類和介面。除同步執行緒活動和訪問資料的類 mutex...

多執行緒基礎

對於多執行緒程式設計,很多人概念不清,寫 的時候要麼是處處加鎖,影響效能不說,還容易莫名其妙的死鎖,還有人對多執行緒敬而遠之。所以學習多執行緒程式設計最重要的不是學習 api,而是理解什麼才是多執行緒安全的 從例子說起 include include long global1 0 volatile ...