界面卡頓問題
同步執(zhí)行:從上倒下—一個(gè)線程執(zhí)行多個(gè)任務(wù)也是依次執(zhí)行.
異步執(zhí)行:無序執(zhí)行,同一時(shí)間”同時(shí)”運(yùn)行.
進(jìn)程:一個(gè)進(jìn)程由一個(gè)或者多個(gè)線程組成,一個(gè)正在運(yùn)行的程序
線程是進(jìn)程的基本執(zhí)行單元,一個(gè)進(jìn)程的所有任務(wù)都在線程中執(zhí)行
優(yōu)點(diǎn):多線程可以提高程序的執(zhí)行效率,線程之間是切換執(zhí)行的,切換頻率塊,給人同時(shí)執(zhí)行的錯覺,狀態(tài)保存,包括變量的值和執(zhí)行的行數(shù),適當(dāng)?shù)奶岣吡速Y源的使用率,線程執(zhí)行完后會自動銷毀.
缺點(diǎn):時(shí)間成本,空間成本,線程通信共享變量,程序更加復(fù)雜 有資源搶奪,共享安全問題
進(jìn)程的三個(gè)特征:
獨(dú)立性—>系統(tǒng)中獨(dú)立存在的實(shí)體,擁有自己獨(dú)立的資源,擁有自己的私有地址空間
動態(tài)性—>進(jìn)程是一個(gè)正在系統(tǒng)中活動的指定集合,有自己的生命周期各自的狀態(tài).
并發(fā)性—>多個(gè)進(jìn)程可以在單個(gè)處理器并發(fā)執(zhí)行,多個(gè)進(jìn)程之間不會相互影響
主線程—>UI線程,一般是刷新UI界面,處理UI點(diǎn)擊事件,不能將耗時(shí)的進(jìn)程放在主線程.
pthread
nsthread
GCD
NSOpreation
線程的生命周期—>NSThread:1.新建狀態(tài) 2.就緒狀態(tài),放入可調(diào)度池 3.運(yùn)行狀態(tài)(阻塞,進(jìn)入就緒) 4.手動退出后面的代碼無法執(zhí)行 5. 死亡狀態(tài)
================待續(xù)======================