Python 中多執行緒概述

2021-10-05 11:00:01 字數 664 閱讀 2311

我們知道,在一台計算機中,我們可以同時開啟許多軟體,比如同時瀏覽網頁,聽**,打字等等,看似非常正常。但是仔細想想,為什麼計算機可以做到這麼多軟體同時執行呢?這就涉及到計算機中的兩個重要概念:多程序和多執行緒了。

說起多執行緒,就不得不先說什麼是執行緒。想要弄明白什麼是執行緒,又不得不先說什麼是程序。

了解了執行緒的概念,多執行緒就很容易理解了,多執行緒就是乙個程序中同時執行多個執行緒,前面所說的瀏覽器的情景就是典型的多執行緒執行。

在乙個程式程序中,有一些操作是比較耗時或者需要等待的,如果等待網頁結果的響應,等到資料庫的查詢結果的返回。如果使用單執行緒,處理器必須要等到這些操作完成之後才能繼續往下執行其它操作,而這個執行緒在等待的過程中,處理器明顯是可以執行其它操作的。如果使用多執行緒,處理器就可以在某個執行緒等待的時候,去執行其它的執行緒,從而整體上提高執行效率。

像上述場景,執行緒在執行過程中很多情況下是需要等待的。比如網路爬蟲就是乙個非常典型的例子,爬蟲在向伺服器發起請求之後,有一段時間必須要等待伺服器的響應返回,這種任務就屬於io密集型任務。對於這種任務,如果我們啟用多執行緒,處理器就可以在某個執行緒等待的過程中去處理其它的任務,從而提高整體的爬取效率。

所以,如果任務不全是計算密集型任務,我們可以使用多執行緒來提高程式整體的執行效率。尤其對於網路爬蟲這種 io密集型任務來說,使用多執行緒會大大提高程式整體的爬取效率。

python中多執行緒 Python之多執行緒

python之多執行緒 一 概念 1 多工可以由多程序完成,也可以由乙個程序內的多執行緒完成。程序是由若干的執行緒組成,乙個程序至少有乙個程序。執行緒是作業系統直接支援的執行單元,天賜高階預壓通常都是內建多執行緒的支援,python的執行緒是真正的posix thread而不是模擬出來的執行緒。2 ...

多執行緒整理01 多執行緒概述

什麼是程式?程式是一段由作業系統執行的 什麼是程序?程序是程式執行的過程,或者說正在被執行的一道程式,乙個程序由乙個或者多個執行緒組成 什麼是執行緒?執行緒是程序的執行部分,每個執行緒都有各自的堆疊空間,堆疊是私有的,而執行緒共享程序內的其他資源 什麼是併發和並行 併發 如果只有單個cpu的話,程式...

android 多執行緒概述

android多執行緒,一直是乙個麻煩的事情,要掌握它的本質,我們需要搞清楚乙個問題,linux多執行緒的本質。了解linux的歷程,了解android的非同步任務機制,了解android的多步任務。說到linux的多執行緒,我們要比較windows與linux的多執行緒的模型。windows執行緒...