Если вы не заботитесь о порядке вставки ключей в словарь, хорошим вариантом здесь, вероятно, будет метод imap_unordered
объекта multiprocessing.pool.Pool
.Вот пример использования всех процессорных ядер:
from multiprocessing.pool import Pool
p = Pool(None) # can pass a specific number of cores
dataset = {idx: d for idx, d in p.imap_unordered(
lambda idx, id: (idx, GetAllBidPrice(id)),
enumerate(MarketIds['Market Id']))}