1.進程
進程是指在系統中正在運行的的一個應用程序;
每個進程之間是獨立的,每個進程運行在獨立的且受保護的專用內存空間中;
2.線程
線程是程序的基本執行單元,一個進程的所有任務都在線程中執行;
一個線程中任務是串行的;
3.多線程
一個進程中可以開啟多條線程,多條線程可以并行執行不同的任務;
多線程技術可以提高程序的執行效率;
4.多線程的原理
多線程并發執行,實際上是CPU快速地在多條線程之間調度(切換);如果切換的速度足夠快,就造成了多線程并發執行的假象;
5.多線程的優點
能適當提高程序的執行效率;
能適當提高資源利用率;
6.多線程的缺點
開啟線程需要占據一定的內存空間;
線程越多,CPU在調度線程上的開銷就越大;
程序設計更加復雜;
7.主線程
一個iOS程序運行時,默認會開啟一條線程,這條線程成為主線程或者UI線程;
8.主線程的主要作用
顯示和刷新UI界面;
處理UI事件(比如點擊事件,滾動事件,拖拽事件等);
9.主線程的使用注意
不要將比較耗時的操作放在主線程中;
耗時操作會阻塞主線程,影響UI操作的流暢度,給用戶一種"卡"的壞體驗;
10.多線程實現的技術方案
pthread 跨平臺 C語言
NSThread 面向對象 OC語言
GCD 替代NSThread C語言
NS
Operation 基于GCD,面向對象 OC語言