一、多線程的基本概念
(1)進(jìn)程:是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)的基礎(chǔ)肥隆,主要管理資源。如:一個正在手機(jī)上運行的微信稚失,就是一個進(jìn)程栋艳。
(2)線程:是進(jìn)程的基本執(zhí)行單元。一個進(jìn)程至少要有一個線程墩虹。
注:進(jìn)程只負(fù)責(zé)資源的調(diào)度與分配嘱巾,線程才是程序真正的執(zhí)行單元,負(fù)責(zé)代碼執(zhí)行诫钓。你可以把進(jìn)程比作食堂旬昭,食堂內(nèi)的一個個窗口就相當(dāng)于線程,排隊買飯的學(xué)生菌湃,就是線程里面的任務(wù)问拘,任務(wù)在線程里面是串行的。食堂最少有一個窗口惧所,同樣進(jìn)程至少要有一個線程骤坐。
(3)主線程:一個進(jìn)程至少要有一個線程,這個線程叫做主線程下愈。主線程在程序啟動時被創(chuàng)建纽绍,用于執(zhí)行main函數(shù)。主線程主要負(fù)責(zé)處理UI势似,所有更新UI的操作都必須在主線程上執(zhí)行拌夏。不要把耗時操作放在主線程,會卡界面履因。
(4)多線程:同一時刻障簿,一個CPU只能處理一條線程,但CPU可以在多條線程之間快速的切換栅迄,只要切換的足夠快站故,就造成了多線程并發(fā)執(zhí)行的現(xiàn)象。多線程是通過提高資源使用率來提高系統(tǒng)總體的效率毅舆。我們運用多線程西篓,是為了將耗時操作放在后臺執(zhí)行。