Можно ли соединить информацию из разных процессов в 1 список

Необходимо объединить списки из 4 процессов в 1, возможно ли это и как это сделать?

if __name__ == '__main__':

    cpus = multiprocessing.cpu_count()
    if length % cpus == 0:
        pass
    proc_1 = Process(target=get_mes, args=(m_id[0:length//2],1,))#m_id[0:length//2
    proc_1.start()
    proc_2 = Process(target=get_mes, args=(m_id[length // 2*2:(length // 2)*3], 2,))
    proc_2.start()
    proc_3 = Process(target=get_mes, args=(m_id[length // 2*3:(length // 2)*4], 4,))
    proc_3.start()
    get_mes(m_id[length//2:(length//2)*2],0)

Ответы (1 шт):

Автор решения: Namerek

Пример к коментарию

from multiprocessing import Pool
from random import randint


def simple_rand(a, b, c):
    return (a + b + c) * randint(2, 5)


item_list = [(1, 3, 5,), (8, 9, 10)] * 50

if __name__ == '__main__':

    with Pool(8) as pool:
        new_item_list = [item for item in pool.starmap(simple_rand, item_list)]

    print(new_item_list)

UPD:

на счет разбить на части (хотя это уже другой вопрос)

lst = [5] * 15


def chunks(iterable, chunk_size: int):
    for i in range(0, len(iterable), chunk_size):
        yield iterable[i:i + chunk_size]


print([item for item in chunks(lst, len(lst) // 4 + bool(len(lst) % 4))])
# [[5, 5, 5, 5], [5, 5, 5, 5], [5, 5, 5, 5], [5, 5, 5]]
→ Ссылка