1
我有一個對象列表,我想調用它們的foo函數,並將它傳遞給參數欄。我想並行化這個操作,所以現在我正在考慮使用多處理包中的Pool.map。不過,我不確定如何使用map來運行對象方法。我怎樣才能做到這一點?或者有更好的方法可以並行執行此操作嗎?並行化對象方法的調用
我有一個對象列表,我想調用它們的foo函數,並將它傳遞給參數欄。我想並行化這個操作,所以現在我正在考慮使用多處理包中的Pool.map。不過,我不確定如何使用map來運行對象方法。我怎樣才能做到這一點?或者有更好的方法可以並行執行此操作嗎?並行化對象方法的調用
定義一個輔助函數並通過Pool.map
將對象方法及其參數傳遞給該函數。輔助函數會是這個樣子:
def helper(*args):
return args[0](*args[1:])
而且你會使用這樣的:
pool = Pool()
results = pool.map(helper, [obj.method, arg1, arg2])
注意,輔助函數必須從它包含模塊直接可導入。