首先在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是有乙個全域性解釋鎖,具體什麼意思,可以兩個方面理解 在同一時刻,只能執行...