多執行緒理解

2022-09-05 11:15:10 字數 558 閱讀 4635

單核cpu:單執行緒與多執行緒;執行時都是併發操作

a.執行條件:無io等操作,時間大小:多執行緒》單執行緒,原因:多執行緒執行時執行緒切換耗時間;

b.執行條件:有io等操作,時間大小: 單執行緒》多執行緒,原因:單執行緒要等待io的操作時間,從而加長時間;

單核多執行緒的作用:在b中展現出優點。

多核cpu:單執行緒與多執行緒;單執行緒還是併發操作,多執行緒可以並行操作

執行條件:針對同乙個程式,時間大小:單執行緒》多執行緒,原因:多執行緒將程式分為多個子執行緒並行執行,執行效率比單執行緒要快得多。

單核多執行緒和多核單執行緒:單核多執行緒只能是併發操作,而多核多執行緒可以是並行操作

執行緒的5種狀態:新建,就緒,執行,阻塞,死亡。

主線程與子執行緒的優先順序問題:

在乙個執行緒中開啟了另外乙個執行緒,預設子執行緒的優先順序和主線程一致,由於主線程先啟動,所以先獲得cpu資源,當子執行緒與主線程爭搶cpu資源時,看運氣,誰搶到歸誰;

設定了優先順序,也不一定非按優先順序執行,只是說優先順序高的執行緒搶到cpu資源的概率會大一些,優先順序低的執行緒也有機會執行,優先順序設定為1-10,數值越大優先順序越高,預設優先順序為5;

多執行緒 理解多執行緒(一)

程序 程序是cpu分配資源的基本單位 執行緒 執行緒是cpu排程的基本單位 資源分配給程序,所有執行緒共享該程序的資源 當執行緒數大於cpu的數量,會出現時間片的輪詢。cpu時間片是直接分配給執行緒的,執行緒拿到cpu時間片就能執行了 cpu時間片不是先分給程序然後再由程序分給程序下的執行緒的。所有...

多執行緒理解

本文介紹我對於多執行緒的理解。一 概念 1.作業系統下的多程序場景 但其實上面的情景是屬於作業系統下的多程序,不是單個程式內的多程序,這種多程序跟我們在單個程式內的多執行緒沒有什麼可以比較的。2.執行緒 舉個最簡單例子 我們的任務需要兩個計算型操作 a b 每個操作耗時10秒,如果是單執行緒,這時我...

多執行緒初步理解

題目 某銀行有至多三個視窗提供服務。該銀行每天至多服務100人次 初始時,只有乙個視窗開放,如果等待人數超過兩人 包含正在辦理業務的人 才開放下乙個視窗。這個小小的問題裡面包含幾個關鍵點 顯然三個視窗可以用三個執行緒來做,那麼如何得到三個執行緒服務的總人數?涉及到多執行緒資料同步問題。100人次可能...