我想同時運行一個像500進程的東西,並決定寫一個管理工作的池。然而,它很沉重,內存看起來不像它會處理它。 任何建議打開/使用一個池,將執行10或50或50的進程? 謝謝
這是我現在正在處理的方式。
def get_data_mp(args):
settings = args
procs = len(settings.ticker_list)
pool = multiprocessing.Pool(procs)
tickers = pool.map(get_file_mp, [(settings,i) for i in range(procs)])
pool.close()
pool.join()
通常特效的數量是500左右的功能get_file_mp頗重,因此當一切都在內存中,電腦遭受了很多。這就是爲什麼我希望有一種方法來執行這些過程10乘10或50乘50,因爲我注意到計算機能夠處理這種工作量。
Python有一個多處理池,可以爲您管理所有事情。檢查https://docs.python.org/2/library/multiprocessing.html。我不清楚你如何試圖運行500個進程。請詳細說明。 – Aziz