多執行緒 開張篇

2021-06-23 01:47:48 字數 720 閱讀 3881

提到執行緒第一反應其他概念程序,作業系統。

執行緒就是幹活的人。多執行緒就是多個人幹活。執行緒可以分ui執行緒和工作執行緒。ui執行緒就是前台工作者,一般都是小姑娘。工作執行緒就是後台工人(幹些苦活累活的)

前台吩咐後台幹活,後台幹完了要通知前台。這就是男女搭配,幹活不累。前台和後台共用乙個廁所。這時男女有別,所以門上需要乙個縮。需要誰先占用,誰使用。

執行緒爭奪資源互動模型:生產者-消費者;讀寫;早餐問題;特別注意;執行緒死鎖問題

程序則是資源提供者,負責管理各種資源。

程序是個容器,執行緒則是在程序裡面跑。

多執行緒的問題

1)死鎖

2)無限延遲

3)競爭

同步問題的出現

1)資料從記憶體裝載到暫存器

2)在暫存器上運算

3)資料從暫存器寫回記憶體

這三個步驟存在交替,就出現問題了。

同步機制:

鎖:訊號量 :  比互斥量有更好的併發性

假如我們用互斥量來控制對緩衝的訪問,那麼生產者,消費者不能同時訪問緩衝。然而,我們知道在同一時刻,不同執行緒訪問緩衝的不同部分並沒有什麼危害。

執行緒的作用

1)解決執行較長時間的操作而不至於使用者介面失去響應。

2)提高多核使用率。

使用執行緒的主要想法是希望它們可以盡可能併發執行,而一些關鍵點上線程之間需要停止或等待。例如,假如兩個執行緒試圖同時訪問同乙個全域性變數

累了,不寫了。繼續寫我的程式了。

多執行緒篇 RunLoop

簡述 1 runloop是事件接收和分發機制的乙個實現 3 以及節省cpu資源,提高程式效能 該做事時做事,該休息時休息 如何獲取runloop物件 這裡的話ios提供了兩套api來訪問或使用runloop 1 cfrunloopref 是在 corefoundation 框架內的,它提供了純 c ...

iOS開發 多執行緒篇 多執行緒介紹

一 程序和執行緒 1 什麼是程序 程序是指在系統中正在執行的乙個應用程式 每個程序之間是獨立的,每個程序均執行在其專用且受保護的記憶體空間內 比如同時開啟迅雷 xcode,系統就會分別啟動2個程序 通過 活動監視器 可以檢視mac系統中所開啟的程序 3 執行緒的序列 1個執行緒中任務的執行是序列的 ...

iOS開發多執行緒篇 多執行緒簡單介紹

ios開發多執行緒篇 多執行緒簡單介紹 一 程序和執行緒 1.什麼是程序 程序是指在系統中正在執行的乙個應用程式 每個程序之間是獨立的,每個程序均執行在其專用且受保護的記憶體空間內 比如同時開啟qq xcode,系統就會分別啟動2個程序 通過 活動監視器 可以檢視mac系統中所開啟的程序 2.什麼是...