多线程(一)简介
                            
                            
                            一、進程和線程的區別 進程:指在系統中正在運行的一個應用程序,每個進程之間是獨立的,每個進程均運行在其專用且受保護的內存空間內。? 線程:1個進程要想執行任務,必須得有線程(每1個進程至少要有1條線程),線程是進程的基本執行單元,一個進程(程序)的所有任務都在線程中執行,一個線程中的任務執行時串行的。  二、多線程 1.什么是多線程? 多線程:1個進程可以開啟多條線程,每條線程可以并行執行不同的任務。 2.多線程原理 同一時間,CPU只能處理1條線程,也就是只有1條線程在工作,多線程并發執行,其實是CPU快速地在多條線程之間切換,如果CPU調度線程的時間足夠快,就造成了多線程并發執行的假象 注意:如果線程非常非常多,CPU會在N多線程之間調度,CPU會累死,消耗大量的CPU資源,線程的執行效率會降低  2.多線程優缺點 優點: (1)能適當提高程序的執行效率? (2)能適當提高資源利用率(CPU、內存利用率)  缺點: (1)開啟線程需要占用一定的內存空間(默認情況下,主線程占用1M,子線程占用512KB),如果開啟大量的線程,會占用大量的內存空間,降低程序的性能 (2)線程越多,CPU在調度線程上的開銷就越大 (3)程序設計更加復雜:比如線程之間的通信、多線程的數據共享  3.一個iOS程序運行后,默認會開啟1條線程,成為主線程。主線程的主要作用是:顯示/刷新UI ?處理UI事件,所以也成為UI線程。 主線程的使用原則是,別將耗時操作放到主線程中。  三、iOS中多線程技術 (1)NSThread (2)Cocoa NSOperation (3)GCD (Grand Central Dispatch)  這三種編程方式從上到下,抽象度層次是從低到高的,抽象度越高的使用越簡單,也是Apple最推薦使用的。 
 
                        
                        
                        轉載于:https://www.cnblogs.com/10-19-92/p/5308428.html
總結
 
                            
                        - 上一篇: Eclipse远程调试HDP源代码
- 下一篇: NSLog(@%@,类对象); 默认输出
