Сбой очереди многопроцессорной обработки Python

Я создаю 100 дочерних процессов

proc_list = [
    Process(target = simulator, args=(result_queue,))
    for i in xrange(100)]

и запустите их

for proc in proc_list: proc.start()

Каждый процесс помещает в результат _очередь (экземпляр multiprocessing.Queue )10000 кортежей после некоторой обработки.

def simulate(alg_instance, image_ids, gamma, results,
                     simulations, sim_semaphore):
  (rs, qs, t_us) =  alg_instance.simulate_multiple(image_ids, gamma,
                                             simulations)
  all_tuples = zip(rs, qs, t_us)
  for result in all_tuples:
    results.put(result)
  sim_semaphore.release()

Я должен быть (? )получение 1000000 кортежей в очереди, но после различных прогонов я получаю эти (образцы )размеров :14912 19563 12952 13524 7487 18350 15986 11928 14281 14282 7317

Какие-либо предложения?

9
задан user1451817 11 July 2012 в 23:26
поделиться