多執行緒-程式和執行緒的概述

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


相關文章