def worker(args):
    index, array = args
a = SomeKindOfClass()
a.some_expensive_function()
array[index] = a.output

def main():
    n = 8
manager = multiprocessing.Manager()
array = manager.list([0] * n)
pool = multiprocessing.Pool(4)
pool.map(worker, [(i, array) for i in range(n)])
print(array)
Многопроцессорность с пулом в python: о нескольких экземплярах с одинаковым именем одновременно