尋找python大神!!!python如何多執行緒併發?

時間 2021-06-07 10:53:15

1樓:tripleha

因為GIL,我的建議是如果你想使用多核跑並行,使用多程序, multiprocessing

, windows 下的話建議使用它實現的 Pool , linux 下的話建議單開 Process 自己弄程序池維護。如果你了解linux下程序和執行緒的本質的話就不會糾結是多程序還是多執行緒了。python 對 IPC 的封裝還是很易用的。

當然你可以在自己寫的C擴充套件裡面釋放掉 GIL 來跑多執行緒並行。 Initialization, Finalization, and Threads

如果僅僅是想要跑I/O併發的話,協程非常適合這項工作,asyncio - Asynchronous I/O - Python 3.7.3rc1 documentation,協程你可以理解為python的使用者級執行緒,它的切換時機是由你掌控的。

單程序下同一時間只有乙個協程得以執行,如果你覺得單核CPU跑滿了併發度還不夠,可以用多程序+協程。

2樓:Vince

取決於你的程式,如果是IO密集型的程式(沒有太多的鎖的情況下),使用執行緒能提高效率。如果是CPU密集,建議改用程序,這樣可以使用多cpu的能力。

具體設計到linux程序和執行緒的問題,執行緒也分核心級別和使用者級別,可以理解python執行緒是使用者級別的。這是計算機系統方面的問題了,可以網上查查或者看看書,會比看回答認知更全面一些。

同時python存在GIL,就算沒有可能影響也不大,我只是隨口說說,並沒去掉GIL去實驗,但是題主可以了解一下。

Python小白有福了,微軟發布Python入門課程,快來看看第一課內容!

小怪怪獸 香水分裝最大的乙個好處是什麼,那必然是自己用便宜了!像帕爾馬之水寶格麗茶系列大規格都是150ml 歐瓏甚至有200ml的拆分裝拆下來,便宜點的就三四塊1ml 如果要去買個30ml的正裝怎麼打折怎麼優惠也得幾百塊吧如果是分裝幾塊錢1ml 買個好看點的分裝瓶子也就幾塊,整乙個30ml100塊都...

Python測試自動化好學還是Pythonweb開發好學?

不考慮,因為只有有點難度的知識才會更有價值。很簡單就能獲取的東西往往含金量也不那麼高,或者很快就會過時。Django 非常好,作為剛接觸這個框架一年的 資深 程式設計師非常推薦。下面是我的詳細學習方法,供你參考。首先這兩者都需要精通 python,如果你還沒有,可以參考我學習 python 的總結 ...

用 Python 進行資料分析,不懂 Python,求合適的 Python 書籍或資料推薦?

digolds 關於Python基礎知識,下面這份教程就夠了,關於資料分析,你需要使用pandas 基礎篇https 高階篇https 實用篇https 鵝鵝鵝鵝鵝鵝 講實話,你主要需要的不是python,而是資料分析,你只不過使用python這個工具做資料分析,但是分析什麼內容不是python給你...