0708gcd單例模式開發(fā)iosdevtip_第1頁
0708gcd單例模式開發(fā)iosdevtip_第2頁
0708gcd單例模式開發(fā)iosdevtip_第3頁
0708gcd單例模式開發(fā)iosdevtip_第4頁
0708gcd單例模式開發(fā)iosdevtip_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

多線程

基礎MJ/exceptions進程什么是進程進程是指在系統(tǒng)中正在運行的一個應用程序每個進程之間是獨立的,每個進程均運行在其專用且受保護的內(nèi)存空間內(nèi)比如同時打開迅雷、Xcode,系統(tǒng)就會分別啟動2個進程通過“活動監(jiān)視器”可以查看Mac系統(tǒng)中所開啟的進程內(nèi)存迅雷進程Xcode進程線程什么是線程1個進程要想執(zhí)行任務,必須得有線程(每1個進程至少要有1條線程)一個進程(程序)的所有任務都在線程中執(zhí)行比如使用酷狗播放音樂、使用迅雷下載電影,都需要在線程中執(zhí)行內(nèi)存酷狗進程線程播放音樂迅雷進程線程下載電影線程的串行1個線程中任務的執(zhí)行是串行的如果要在1個線程中執(zhí)行多個任務,那么只能一個一個地按順序執(zhí)行這些任務也就是說,在同一時間內(nèi),1個線程只能執(zhí)行1個任務比如在1個線程中下載3個文件(分別是文件A、文件B、文件C)進程線程下載文件A下載文件B下載文件C串行因此,也可以認為線程是進程中的1條執(zhí)行路徑多線程什么是多線程1個進程中可以開啟多條線程,每條線程可以并行(同時)執(zhí)行不同的任務進程

車間,線程

車間工人多線程技術可以提高程序的執(zhí)行效率比如同時開啟3條線程分別下載3個文件(分別是文件A、文件B、文件C)進程線程線程線程下載文件A下載文件B下載文件C并行多線程的原理多線程的原理同一時間,CPU只能處理1條線程,只有1條線程在工作(執(zhí)行)多線程并發(fā)(同時)執(zhí)行,其實是CPU快速地在多條線程之間調度(切換)如果CPU調度線程的時間足夠快,就造成了多線程并發(fā)執(zhí)行的假象思考:如果線程非常非常多,會發(fā)生什么情況?CPU會在N多線程之間調度,CPU會累死,消耗大量的CPU資源每條線程被調度執(zhí)行的頻次會降低(線程的執(zhí)行效率降低)進程線程線程線程多線程的優(yōu)缺點多線程的優(yōu)點能適當提高程序的執(zhí)行效率能適當提高資源利用率(CPU、內(nèi)存利用率)多線程的缺點創(chuàng)建線程是有開銷的,iOS下主要成本包括:內(nèi)核數(shù)據(jù)結構(大約1KB)、棧空間(子線程512KB、主線程1MB,也可以使用-setStackSize:設置,但必須是4K的倍數(shù),而且最小是16K),創(chuàng)建線程大約需要90毫秒的創(chuàng)建時間如果開啟大量的線程,會降低程序的性能線程越多,CPU在調度線程上的開銷就越大程序設計更加復雜:比如線程之間的通信、多線程的數(shù)據(jù)共享多線程在iOS開發(fā)中的應用什么是主線程一個iOS程序運行后,默認會開啟1條線程,稱為“主線程”或“UI線程”主線程的主要作用顯示\刷新UI界面處理UI事件(比如點擊事件、滾動事件、拖拽事件等)主線程的使用注意別將比較耗時的操作放到主線程中耗時操作會卡住主線程,嚴重影響UI的流暢度,給用戶一種“卡”的壞體驗耗時操作的執(zhí)行如果將耗時操作放在主線程主線程某些耗時操作(耗時10秒)按鈕的點擊處理表格的拖拽處理第5秒用戶點擊了按鈕,然后拖拽了表格響應用戶操作第10秒問題在哪?在用戶點擊按鈕5秒后才給出反應子線程主線程耗時操作的執(zhí)行如果將耗時操作放在子線程(后臺線程、非主線程)某些耗時操作(耗時10秒)按鈕的點擊處理表格的滾動處理第5秒并行好處在哪?在用戶點擊按鈕那一刻就有反應能同時處理耗時操作和用UI控件的事件用戶點擊了按鈕,然后拖拽了表格iOS中多線程的實現(xiàn)方案技術方案簡介語言線程生命周期使用頻率pthreadNSThreadGCDNSOperation使用更加面向對象簡單易用,可直接操作線程對象一套通用的多線程API適用于Unix\Linux\Windows等系統(tǒng)跨平臺\可移植使用難度大旨在替代NSThread等線程技術充分利用設備的多核基于GC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論