如果要在1個執行緒中執行多個任務,那麼只能乙個乙個按順序執行這些任務。也就是說,在同乙個時間內,1個程序只能執行1個任務。
1個程序中可以開啟多條執行緒,每條執行緒可以並行(同時)執行不同的任務。
程序是車間,那麼執行緒就是車間工人。
多執行緒技術可以提高程式的執行效率。
同一時間內,cpu只能處理一條執行緒,只有一條執行緒在工作。
多執行緒併發(同時)執行,其實是cpu快速的在多條執行緒指尖排程(切換)。
如果cpu排程執行緒時間足夠快,就造成了多執行緒併發執行的假象。
cpu會在ñ多執行緒之間排程,會消耗大量的cpu資源。
每條執行緒被排程執行的頻次會降低(執行緒的執行效率降低)
優點:適當提高程式的執行效率
提高資源利用率(cpu,記憶體利用率)
缺點:的ios的建立乙個執行緒大概需要耗時90毫秒,消耗核心資料結構(1kb),棧空間(子執行緒512kb,主線程1mb也可以自定義(4的倍數))的空間
大量的執行緒會降低程式的效能。
執行緒越多,cpu在排程執行緒上的開銷就越大。
程式設計更加複雜,比如縣城之間的通訊,多執行緒的資料共享。
實際開發注意點:
耗時操作不要放到主線程。
耗時操作會卡住主線程,影響介面流暢度。
ios 多執行緒 (nsthread篇)
iOS開發 多執行緒篇 多執行緒介紹
一 程序和執行緒 1 什麼是程序 程序是指在系統中正在執行的乙個應用程式 每個程序之間是獨立的,每個程序均執行在其專用且受保護的記憶體空間內 比如同時開啟迅雷 xcode,系統就會分別啟動2個程序 通過 活動監視器 可以檢視mac系統中所開啟的程序 3 執行緒的序列 1個執行緒中任務的執行是序列的 ...
iOS多執行緒 基礎
thread currentthread operation3 addexecutionblock 設定操作依賴 一定要在新增之前進行設定 operation3 adddependency operation1 operation1 adddependency operation2 建立操作佇列,把...
iOS開發多執行緒篇 執行緒安全
一 多執行緒的安全隱患 資源共享 1塊資源可能會被多個執行緒共享,也就是多個執行緒可能會訪問同一塊資源 比如多個執行緒訪問同乙個物件 同乙個變數 同乙個檔案 當多個執行緒訪問同一塊資源時,很容易引發資料錯亂和資料安全問題 示例一 示例二 問題 1 2 05 執行緒安全4 5 6 7 89 10 im...