python中的併發程式設計

2022-03-10 04:48:07 字數 753 閱讀 4408

首先在python併發程式設計中,必須把建立子程序的部分使用if __name__ ==『__main__』 判斷保護起來。這個原因是什麼呢?

在python中每乙個py檔案要麼作為程式直接執行,要麼被別的檔案匯入執行。if __name__ ==『__main__』 這個語句之下的程式只會在直接執行時才會走,如果是被別的檔案匯入該語句之下的程式就不會走。在windows下建立子程序會自動import啟動它的這個檔案,而import的時候又執行了整個檔案,因此如果將process()直接寫在檔案中就會無限遞迴建立子程序報錯。所以必須把建立子程序的部分使用if __name__ ==『__main__』保護起來。

一點小總結:

通過學習了解io密集型比較適合用多執行緒解決

cpu密集型比較適合用多程序解決

然而協程:使用程序中乙個執行緒去做多個任務,微執行緒

gil:用於在程序中對所有執行緒加鎖,保證同一時刻只能有乙個執行緒被cpu排程

非同步io 在乙個執行緒去處理請求時,遇到io阻塞,該執行緒就去處理別的請求去了,

保證執行緒不會停下來等待,造成資源的浪費。

通過學習了解io密集型比較適合用多執行緒解決

cpu密集型比較適合用多程序解決

然而協程:使用程序中乙個執行緒去做多個任務,微執行緒

gil:用於在程序中對所有執行緒加鎖,保證同一時刻只能有乙個執行緒被cpu排程

非同步io 在乙個執行緒去處理請求時,遇到io阻塞,該執行緒就去處理別的請求去了,

保證執行緒不會停下來等待,造成資源的浪費

Python 併發程式設計

1.程序 執行緒 協程基本概念,建立 使用 2.協程的應用 生成器 第三方模組 3.併發的實踐 程式執行起來之後建立的乙個程序。建立程序已經學過使用multiprocessing.process類建立 1 multiprocessing.process 指定target引數,建立物件 2 繼承mul...

python併發程式設計 程序,併發

1.程序是乙個正在執行的程式,或者說是程式執行的過程,程序是個抽象概念 程序起源於作業系統,是作業系統最核心的概念,作業系統所有其他的概念都是圍繞程序展開 研究程序最底層就是在研究作業系統底層 2.序列 程序 乙個任務完完整整的執行完畢後,在執行下乙個任務 3.併發 程序 看起來多個任務是同時執行即...

python併發程式設計調優 python併發程式設計

併發程式設計是我們程式設計中常用的優化程式效能的手段,能提高cpu的使用率。一般使用是多執行緒,多程序,協程 一 python的全域性解釋鎖gil 我們目前跑的python程式大多數都是在cpython上執行的。cpython是有乙個全域性解釋鎖,具體什麼意思,可以兩個方面理解 在同一時刻,只能執行...