Multithreading 生成器上的Itertools.combines()-Python

Multithreading 生成器上的Itertools.combines()-Python,multithreading,python-3.x,generator,combinations,Multithreading,Python 3.x,Generator,Combinations,假设我有一个生成器,在每次调用时生成一些随机数。我希望这些数字的组合是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

假设我有一个生成器,在每次调用时生成一些随机数。我希望这些数字的组合是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个队列

你们还有其他建议吗?我需要脚本尽快完成执行

编辑: 好的,我刚刚编写了这个程序的两个版本(基于列表,基于生成器)

我的基于列表的版本实际上占用更少的内存。这怎么可能

编辑2: 这是因为我试图使用pyplot逐点绘制点。这导致每次调用时都会重新呈现图形