多线程的概述(一)
程序 :由源代碼生成的可執行應用 QQ.app? 進程 :一個正在運行的程序可以看作是一個進程,擁有獨立運行所需的全部資源 線程 :程序中獨立運行的代碼段 一個進程是由一個或多個線程組成。進程只負責資源的調度和分配,線程才是程序真正的執行單元,負責代碼的執行。 單線程 :每個正在運行的程序就是上面說的進程,至少包含一個線程,這個線程叫主線程。主線程在程序啟動時被創建,用于執行main函數。那么只有一個主線程的程序就稱作 單線程程序。在單線程程序中,主線程要負責執行程序的所有代碼(UI的展現和刷新、網絡請求、本地存儲等等),這些代碼只能 順序執行 而無法 并發執行。 這樣就引出了多線程 多線程 :同理 擁有多個線程的程序就稱作多線程程序。iOS允許用戶自己根據需要開辟若干新的線程,相對于主線程來說,這些線程叫子線程。不管是主線程還是子線程都是獨立的運行單元,各自的執行互不影響,因此能夠并發執行。 單線程和多線程的區別 單線程程序 :只有一個線程即主線程,代碼順序執行,容易出現代碼阻塞(頁面假死)。 多線程程序 :與多個線程,線程間獨立運行,能有效的避免代碼阻塞,并且提高程序的運行性能。 **注意:iOS中關于UI的添加和刷新必須在主線程中操作 iOS平臺下的多線程有以下4個實現種類 NSThread NSOprationQueue NSObject GCD
轉載于:https://www.cnblogs.com/xs514521/p/5467237.html
總結
- 上一篇: 02、django中的上下文
- 下一篇: android emulator虚拟设备