假设我有一个生成器,每次调用都会产生一些随机数。我希望这些数字的组合在2中。
def generate():
while True: # Note this is not actually infinite, just an example
yield random(1,10)
for combos in iter.combinations(generate(),2):
#DO AN OPERATION WITH A COMBINATION
#HOW DO I MULTI-THREAD THIS?
但我的发电机将产生总数'n',这是24000+数字。因此,我需要在组合时处理组合,而不是存储在列表(内存)中。
我还需要通过在至少4个线程之间划分组合来多线程操作此操作。
我想过做这个循环,即分配4个队列,每个线程负责1个队列。
你们有其他建议吗?我需要脚本尽快完成执行。
好的,我刚写了这个程序的两个版本(基于列表,基于生成器)。
而我的基于列表的版本实际上占用的内存较少。这怎么可能?
这是因为我试图逐点使用pyplot绘制点。这导致每次调用时都重新呈现图形。