併發程式設計之程序與執行緒

2021-10-02 14:23:41 字數 352 閱讀 6615

2.2 並行與併發

2.3 應用

單核cpu下,多執行緒不能實際提高程式執行效率,只是為了能夠在不同的任務之間切換,不同執行緒輪流使用cpu,不至於乙個執行緒總占有cpu,別的執行緒沒法幹活。

多核cpu可以並行跑多個執行緒,但能否提高程式執行效率還是要分情況的

(1)有些任務,經過精心設計,將任務拆分,並行執行,當然可以提高程式的執行效率。但不是所有計算任務都能拆分

(2)也不是所有任務都需要拆分,任務的目的如果不同,談拆分和效率沒有意義

io操作不占用cpu,只是我們一般拷貝檔案使用的是【阻塞io】,這時相當於執行緒雖然不用cpu,但需要一直等待io結束,沒能充分利用執行緒。所以才有非阻塞io和非同步io優化。

併發程式設計之執行緒池,程序池

池 受限於硬體的發展,硬體跟不上軟體的發展 在保證計算機硬體安全的情況下,最大限度的利用了計算機 池其實是降低了程式的執行效率,但是保證了計算機硬體的安全 我們再使用程序和執行緒時,不可能無限制的去開程序或執行緒。因此我們需要用到程序池,執行緒池來解決這一問題。1.concurrent模組是用來建立...

併發程式設計 程序與執行緒

程序即正在執行的乙個過程。程序是對正在執行程式的乙個抽象。程序的概念起源於作業系統,是作業系統最核心的概念,也是作業系統提供的最古老也是最重要的抽象概念之一。作業系統的其他所有內容都是圍繞程序的概念展開的。ps 即使可以利用的cpu只有乙個 早期的計算機確實如此 也能保證支援 偽 併發的能力。將乙個...

併發程式設計之程序

在python中大部分情況需要使用多程序。python提供了multiprocessing。multiprocessing模組用來開啟子程序,並在子程序中執行我們定製的任務 比如函式 該模組與多執行緒模組threading的程式設計介面類似。multiprocessing模組的功能眾多 支援子程序 ...