1. 程式人生 > >你怎麼理解多執行緒和單執行緒的區別

你怎麼理解多執行緒和單執行緒的區別

程式、程序、執行緒

程式:由原始碼生成的可執行應用。 (例如:QQ.app)

程序:一個正在執行的程式可以看做一個程序,(例如:正在執行的QQ警示一個勁曾),程序擁有獨立執行所需要的全部資源

執行緒:程式中獨立執行的程式碼段。(例如:接收QQ訊息的程式碼)

一個程序是由一或多個執行緒組成,程序只負責資源的排程和分配,執行緒才是程式真正的執行單元,負責程式碼的執行。

 單執行緒

每個正在執行的程式(即程序),至少包括一個執行緒,這個執行緒叫主執行緒

主執行緒在程式啟動時被建立,用於執行main函式

只有一個主執行緒的程式,稱作單執行緒程式

主執行緒負責執行程式的所有程式碼(UI展現以及重新整理,網路請求,本地儲存等等)。這些程式碼只能順序執行,無法併發執行

多執行緒

擁有多個執行緒的程式,稱作多執行緒程式。

iOS允許使用者自己開闢新的執行緒,相對於主執行緒來講,這些執行緒,稱為子執行緒

可以根據需要開闢若干子執行緒

子執行緒和主執行緒都是獨立的執行單元,各自的執行互不影響,因此能夠併發執行

單執行緒、多執行緒的區別

單執行緒程式:只有一個執行緒,程式碼順序執行,容易出現程式碼阻塞(頁面假死)

多執行緒程式:有多個執行緒,執行緒間獨立執行,能有效地避免程式碼阻塞,並且提高程式的執行效能

注意:iOS中關於UI的新增和重新整理必須在主執行緒中操作