什么是進程?
進程就是指,在系統中正在運行的一個應用程序,比如同時打開QQ,Xcode,系統就會分別啟動兩個進程、
什么是線程?
一個進程要想執行任務,必須得有線程,線程是進程的基本執行單元,比如使用酷狗播放音樂、使用迅雷下載電影,都需要在線程中執行
線程的串行:一個線程中任務對的執行就是串行
如果要在一個線程中執行多個任務,那么只能一個一個的按照順序執行這些任務,也就是說,在同一個時間內,一個線程只能執行一個任務
什么是多線程?
一個進程中可以開啟多條線程,每條線程可以并發,執行不同的任務
比如:進程就相當于車間,線程就相當于車間工人,比如同時開啟三條線程,分別下載三個文件(分別是文件A、文件B、文件C)
多線程的原理:
同一個時間內,CPU只能處理一條線程,只有一條線程在工作或者執行
多線程并發執行,其實就是CPU快速的在多條線程之間調度和切換
如果CPU調度線程的時間足夠快,就造成了多線程并發執行的假象
如果線程非常非常多,會發生什么情況呢?
CPU會在N多線程之間調度,CPU會累死,消耗大量的CPU資源
多線程的優點:1、能適當的提高程序的執行效率2、能適當的提高資源的利用率
多線程的缺點:開啟線程需要占用一定的內存空間,如果開啟大量的線程,會占用大量的內存空間,降低程序的性能
線程越多,CPU在調度線程上的開銷就越大
程序設計更加復雜:比如線程之間的通信,多線程的數據共享
什么是主線程?
一個ios程序運行后,默認會開啟一條線程,稱為“主線程”或者“UI線程”
主線程的主要作用:顯示、刷新UI界面
新聞熱點
疑難解答