1.進程
進程是指系統(tǒng)中正在運行的一個應用程序
每個進程之間是獨立的,每個進程均運行在其專用且受保護的內(nèi)存空間內(nèi)
2.線程
1個進程要想執(zhí)行任務,必須得有線程(每1個進程至少要有1個線程)
一個進程(程序)的所有任務都在線程中執(zhí)行
3,進程和線程的比較
線程是CPU調(diào)用(執(zhí)行任務)的最小單位
進程是CPU分配資源和調(diào)度的單位
一個程序可以對應多個進程,一個進程中可以有多個線程,但至少要有一個線程
同一個進程內(nèi)的線程共享進程的資源
4.多線程的優(yōu)缺點
多線程的優(yōu)點:
1.能適當提高程序的執(zhí)行效率
2.能適當提高資源的利用率\(CPU,內(nèi)存利用率\)
多線程的缺點:
創(chuàng)建線程是有開銷的
如果開啟大量的線程,會降低程序的性能
線程越多,CPU在調(diào)度線程上的開銷就越大
程序設計更加復雜:比如線程之間的通信,多線程的數(shù)據(jù)共享
5.主線程
一個IOS程序運行后,默認會開啟1條線程,稱為"主線程"或者"UI線程"
作用:
顯示\刷新UI界面
處理UI事件
注意:
別將比較耗時的操作放到主線程上
耗時的操作會卡住主線程.嚴重影響UI的流暢度