python如何高效利用多核系統?

時間 2021-05-29 23:16:58

1樓:塵浩

嚴謹說py作為語言本身沒有限制多核之類,是其最主流的實現CPY採用了全域性直譯器鎖,導致在cpy下你多執行緒是無法多核並行的。但它仍然是個併發,且在IO為主的任務中多執行緒是有意義的,GIL只是鎖了計算資源。

你可以換個實現,pypy之類的。也可以直接多程序。新開乙個直譯器執行等於多程序,是並行執行的,但會有不少重複開銷。

2樓:凌心誠

計算密集型用多程序,io密集型用多執行緒。

也不算是雞肋。之所以python程式多執行緒無法執行並行運算,是因為gil鎖了直譯器,其實python的多執行緒依舊是分配在多核上的。所以多開幾個直譯器就繞過了這個問題。

程序比起執行緒的劣勢無非是1,開銷大(主要是記憶體空間開銷和程序切換時交換區到記憶體的時間開銷)。2,程序間通訊不如同程序的多執行緒方便。也就這兩個缺點,但你要執行的並行運算因為cpu本身的限制也不需要你開多少程序,比如一核二線程,在這種cpu上開兩個程序就是並行運算的極限,如果你的電腦是4核,你的並行極限就是8個程序。

就拿這8個程序說事的話,現在哪個電腦開不了8個程序?現在哪個記憶體支援不了8個程序和交換區的交換?當然python這個執行緒確實不完美,但只要不是強迫症,就還算過得去

如何高效利用時間?

永恆的太陽 首先要善於區分重要工作和一般工作。乙個人的精力有限,因此工作要分輕重緩急。工作一般分三類 急件,必須馬上辦 優先件,盡量去辦 普通件,有空去辦。應把主要時間花在重要的事情上去,抓住了關鍵性的工作,才能有效地提高時間的利用率。利用最佳狀態去辦最難和最重要的工作。乙個人在一天的不同時間裡,精...

生物課本如何高效利用?

三木 不知道你是高幾,一開始對課本不熟悉很正常,你可以在相應知識點那頁貼便條,便條露出來些,寫上知識點,找的時候就好找了。我對課本很熟悉主要是因為我們老師平時就要求無論是做錯了的題還是對了但是矇對了的題,都要翻課本 平時老師講題時,她也會問我們是什麼知識點,要是想不起來,也是翻課本 我們學校安排有自...

如何高效利用自己家裡的農機?

農事幫 共享經濟為借助網際網路大平台內的現代科技,有效地整合龐大而分散的資源,令人們的衣食住行等方面得到滿足的一種綜合經濟活動。共享經濟的特點是使用權被分享。在資訊時代下,人們可以通過多種路徑而快速得獲得所要的資訊,這一背景下,共享經濟應運而生。網際網路能夠充分整合各種分散的資源,並以最快的速度將資...