1.想要了解多執行緒,必須先了解執行緒,而想了解執行緒,必須瞭解程序,因為執行緒是依賴於程序而儲存在的
2.什麼是程序?
通過工作管理員我們就看見了程序的存在
而通過觀察,我們發現只有執行的程式才會出現程序
程序:就是正在運送的程式
是系統進行資源分配和呼叫的獨立單位。
每一個程序都有它自己的記憶體空間和系統資源
3.多程序有什麼意義?
單程序的計算機只能做一件事情,而我們現在的計算機都可以進行多件事情:
舉例:一邊遊戲(遊戲程序),一邊聽音樂(音樂程序)
也就是說現在的計算機都是支援多程序的,就可以在一個時間段內執行多個任務
並且,可以提高CPU的使用率
問題:
一邊玩遊戲,一邊聽音樂時同時進行的嗎?
不是。因為單CPU在某一個時間點只能做一件事情
而我們在玩遊戲,或者聽音樂,是CPU在做著程式間的高效切換讓我們覺的是同時進行的。
4.什麼是執行緒
在一個程序內又可以執行多個任務,而每一個任務就們可以看成一個執行緒
執行緒:是程式的執行單元,執行路徑。是程式使用CPU的最基本單位
單執行緒:如果程式只有一個執行路徑 。
多執行緒:如果程式有多個執行路徑
5.多執行緒有什麼意義?
多執行緒的存在,不是提高程式的執行速度。其實是為了提高應用程式的使用率
程式的執行其實都是在搶CPU的資源,或著說是在強CPU的執行權
多個程序是在搶這個資源,而其中的某一個程序如果執行緒比較多,就會有更大的機率搶到CPU的執行權
我們不敢保證那一個執行緒能夠在那個時刻搶到,所以執行緒的執行有隨機性