多執行緒的概念:
在乙個程序裡,可以並發出多個執行緒,每條執行緒都可以執行不同的任務。當然所謂的併發其實只是肉眼所見的同時進行,實際是cpu(**處理器)在任務排程,進行任務切換,用白話說就是這1ms在處理a執行緒的任務,下乙個1ms就去處理b執行緒的事情,然後到c執行緒,最後又回到a執行緒。只是時間間隔特別短,讓使用者覺得是同時進行的。這時候cpu就相當於乙個大腦,如果我們一邊看書,一邊玩遊戲,大腦就會轉不過來。所以,多核cpu就誕生了,不過經常會出現比如一核處理,多核圍觀的情況。所以多執行緒的就更加重要了。
在這裡說一下我對併發和並行的理解:
併發,即系統輪流做不同的事情。比如,乙個機器在1秒內,可以在唱歌、跳舞、背詩詞...等事情中來回切換交替』進行,強調「同一時間間隔內」。
並行,就是系統同時做不同的事情。打個比方就是,人一邊看書,一邊哼歌,強調「同一時刻」。
執行緒的幾種同步方式:
所謂執行緒同步,就是當乙個執行緒在操作某塊記憶體的的時候,其餘的執行緒不能操作該位址,等到該執行緒完成操作以後,其他執行緒才能通過競爭的方式操作該記憶體。剩下的執行緒會繼續等待,直到該執行緒操作完畢。
1)互斥鎖
2)條件變數
3)訊號量
4)臨界區
多執行緒基本概念
什麼是程式 為了完成某項特定的任務,使用某種語言,編寫一組指令的集合 什麼是程序 是乙個正在進行的程式 什麼是執行緒 在乙個程序中,執行的一套功能流程,稱為執行緒 在乙個程序中,執行的多套功能流程,稱為多執行緒 多執行緒程式的優點 1 降低資源消耗。通過重複利用已建立的執行緒降低執行緒建立和銷毀造成...
多執行緒 基本概念
多執行緒和高併發是身為開發人員高階中一直是繞不開的話題,為此專門學習了下,做下總結,作為自己的備忘錄。1.什麼是執行緒 執行緒是作業系統中能夠進行運算排程的最小單位,是程序中的實際運作單位。執行緒本身有乙個供程式執行時的堆疊,同類的多個 執行緒共享一塊記憶體空間。乙個執行緒的生存週期 新建狀態 就緒...
多執行緒基本概念
執行緒同步的真實意思和字面意思恰好相反。執行緒同步的真實意思,其實是 排隊 幾個執行緒之間要排隊,乙個乙個對共享資源進行操作,而不是同時進行操作。因此,關於執行緒同步,需要牢牢記住的第一點是 執行緒同步就是執行緒排隊。同步就是排隊。執行緒同步的目的就是避免執行緒 同步 執行。這可真是個無聊的繞口令。...