import multiprocessing as mp
def task(x):
# Do something
return x
if __name__ == '__main__':
with mp.Pool(mp.cpu_count()) as pool:
results = []
# Using apply_async
for i in range(cpu_count):
result = pool.apply_async(task, args=(i,))
results.append(result)
for result in results:
print(result.get())
# Using map_async
result = pool.map_async(task, range(cpu_count))
print(result.get())

Hubert's Coding Notes
Useful notes for CS people