一根竿、進(jìn)程
1陵像、定義:
進(jìn)程是指 系統(tǒng)中正在運(yùn)行的一個(gè)應(yīng)用程序,每個(gè)進(jìn)程都運(yùn)行在其專有的空間內(nèi)寇壳,故一個(gè)進(jìn)程不能訪問另外一個(gè)進(jìn)程的獨(dú)有空間醒颖。
2、進(jìn)程的五種狀態(tài):
二壳炎、線程
1泞歉、定義:
線程是進(jìn)程的基本執(zhí)行單元,進(jìn)程的所有任務(wù)都在線程中執(zhí)行匿辩,故一個(gè)進(jìn)程想要執(zhí)行任務(wù)必須得有一個(gè)線程腰耙,這個(gè)線程也被成為主線程(UI線程)
2、多線程(資源共享铲球、線程讀寫):
· 網(wǎng)絡(luò)請(qǐng)求:異步請(qǐng)求(不阻塞UI線程完成任務(wù))挺庞,在請(qǐng)求時(shí)可以操作UI,保證客戶端的流暢性稼病;
· 圖片加載:下載---緩存---顯示---再次使用取緩存
· 文件處理
· 數(shù)據(jù)存儲(chǔ)
· 任務(wù)執(zhí)行
三选侨、任務(wù)執(zhí)行的方式
1、串行:順序依耐溯饵,按照時(shí)間順序依次完成四、多線程原理
操作系統(tǒng)采用時(shí)間片輪轉(zhuǎn)調(diào)度算法為每個(gè)進(jìn)程分配時(shí)間段丰刊,單核操作系統(tǒng)隘谣,同一時(shí)間只能有一個(gè)線程執(zhí)行
,為保證多線程高效執(zhí)行啄巧,交替性分配時(shí)間片執(zhí)行任務(wù)
五寻歧、多線程優(yōu)缺點(diǎn)
1、優(yōu)點(diǎn):
· 簡(jiǎn)化了編程模型:切割大型任務(wù)秩仆,合并零散的任務(wù)
· 更加輕量級(jí)
· 提高執(zhí)行效率
· 提高資源利用率
2码泛、缺點(diǎn):
· 增加程序設(shè)計(jì)的復(fù)雜性(eg: 操作一個(gè)數(shù)據(jù)庫時(shí),一個(gè)線程在做寫操作澄耍,另一個(gè)線程是無法進(jìn)行寫操作的噪珊,否則會(huì)出錯(cuò)晌缘;若一個(gè)變量在不同的兩個(gè)線程中被修改了值,讀值的時(shí)候可能出錯(cuò))
· 占用內(nèi)存空間(程序內(nèi)存)
· 增加cpu調(diào)度開銷(分配時(shí)間段)