Как из дочернего процесса вытащить данные?

У меня получается в итоге 4 списка, которые нужно объеденить в 1, пробовал queue, но не получилось, как это можно реализовать?
spoiler
f __name__ == '__main__':
    print(len(m_id))
    cpus = multiprocessing.cpu_count()
    if length % cpus == 0:
        pass
    q_1 = multiprocessing.Queue()

    proc_1 = Process(target=get_mes, args=(m_id[0:length//4],q_1))#m_id[0:length//2

    proc_2 = Process(target=get_mes, args=(m_id[(length // 4)*2:(length // 4)*3],q_1))

    proc_3 = Process(target=get_mes, args=(m_id[(length // 4)*3:(length // 4)*4],q_1))
    proc_2.start()
    print('2')
    proc_3.start()
    print('3')
    proc_1.start()
    print('1')
    pr_1 = get_mes(m_id[length//2:(length//2)*2],0)
    pr_2 = q_1.get()
    pr_3 = q_1.get()
    pr_4 = q_1.get()
    all_mes = pr_1+pr_2+pr_3+pr_4
    print(len(all_mes))
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Попробуй использовать Pool.map().
Пример его использования буквально в самом начале официальной документации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы