晚上好,
我想同时运行类似500流程的东西,并决定编写一个管理工作的池。然而它非常沉重,内存看起来不会像它一样处理它。 是否建议打开/使用将按10或50执行过程10的池? 感谢
这是我现在处理的方式。
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()
通常proc的数量大约为500.函数get_file_mp非常重,因此当一切都在内存中时,计算机会受到很多影响。这就是为什么我希望有一种方法将这些过程10或10或50除外50,因为我注意到计算机能够处理这种工作量。
答案 0 :(得分:0)
我会创建两个线程,一个是事件队列线程,另一个是事件调度线程。
如果你真的想要批量处理事件,我个人宁愿不批量处理它们并尝试“实时”优化它们的执行。