我是Python中的多處理新手。我有一個簡單的程序,如:在Python中並行運行2+不同的獨立類方法
class test:
...
def func():
return something
inst1 = test(init1, ...)
inst2 = test(init2, ...)
inst3 = test(init3, ...)
x = []
while(some_condition):
a = inst1.func()
b = inst2.func()
c = inst3.func()
x.append(do_something(a, b, c))
隨着func CPU密集型和每次調用時返回一個不同的值。
我有一臺帶有2個8核CPU的機器,安裝了Ubuntu和Python 2.6.5(不能更新,不幸),另一臺機器只有一個i7處理器和Python 2.7.5(也不能更新)。我也無法安裝新的軟件包。
我相信如果所有3種方法同時運行(理論上操作系統應該將它們分配給不同內核),我可以獲得一些性能,但我不知道如何繼續。該文檔對於多處理來說至多是神祕的。
請問我可以給我一些例子,或給我一些關於如何做到這一點的建議嗎?由於
您的解決方案工程確定的功能,但我的意思是方法,我很抱歉。 – user2329994
@ user2329994:基本的東西適用於方法。一個像'inst.func'這樣的綁定方法是一個可以傳遞並調用的值,就像函數一樣。您可能會遇到酸洗問題,但這些問題通常很容易解決 - 無論如何,當您來到時,您可以穿過那座橋。 – abarnert