Итерация по pool.imap_unordered

Рассмотрим очень простой код:

#!/usr/bin/python

from multiprocessing import Pool
import random

def f(x):
    return x*x

def sampleiter(n):
    num = 0
    while num < n:
     rand = random.random()
     yield rand
     num += 1

if __name__ == '__main__':
    pool = Pool(processes=4)              # start 4 worker processes
    for item in pool.imap_unordered(f, sampleiter(100000000000000), 20):
     print item
    pool.close

Во время выполнения терминал, утечка памяти Python.
Что может быть не так?

5
задан bernie 25 March 2012 в 17:04
поделиться