iOS-多執行緒

zhf_Zachariah發表於2017-12-13
  • ####程式,程式,執行緒

程式:由原始碼生成的可執行應用; 程式:一個正在執行的程式可以看做一個程式,程式擁有獨立執行所需的全部資源; 執行緒:程式中獨立執行的程式碼段;

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

  • ####單執行緒

每個正在執行的程式(即程式),至少包含一個執行緒,這個執行緒叫做主執行緒; 主執行緒在程式啟動時被建立,用於執行main函式;

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

擁有多個執行緒的程式,稱作多執行緒程式; iOS允許使用者開闢新的執行緒,相對於主執行緒來講,這些執行緒,稱作子執行緒; 可以根據需要開闢若干子執行緒; 子執行緒和主執行緒都是獨立的執行單元,各自的執行互不影響,因此能夠併發執行了;

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

單執行緒程式:只有一個執行緒,即主執行緒,程式碼順序執行,容易出現程式碼阻塞(頁面假死); 多執行緒程式:由多個執行緒,執行緒之間獨立執行,能有效的避免程式碼阻塞,並且提高程式的執行效能;

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

相關文章