2.多線程的原理
同一時間,CPU只能處理1條線程,只有1條線程在工做(執行)
多線程併發(同時)執行,實際上是CPU快速地在多條線程之間調度(切換)
若是CPU調度線程的時間足夠快,就形成了多線程併發執行的假象
思考:若是線程很是很是多,會發生什麼狀況?
CPU會在N多線程之間調度,CPU會累死,消耗大量的CPU資源
每條線程被調度執行的頻次會下降(線程的執行效率下降)
3.多線程的優缺點
多線程的優勢
能適當提升程序的執行效率
能適當提升資源利用率(CPU、內存利用率)
多線程的缺點
開啓線程須要佔用必定的內存空間(默認狀況下,主線程佔用1M,子線程佔用512KB),若是開啓大量的線程,會佔用大量的內存空間,下降程序的性能
線程越多,CPU在調度線程上的開銷就越大
程序設計更加複雜:好比線程之間的通訊、多線程的數據共享
4.多線程在iOS開發中的應用
主線程:一個iOS程序運行後,默認會開啓1條線程,稱爲「主線程」或「UI線程」
主線程的主要做用
顯示\刷新UI界面
處理UI事件(好比點擊事件、滾動事件、拖拽事件等)
主線程的使用注意:別將比較耗時的操做放到主線程中。
耗時操做會卡住主線程,嚴重影響UI的流暢度,給用戶一種「卡」的壞體驗