import os from multiprocessing import Process, Pool, Manager from random import random def monte_carlo_pi(i, n=5000_0000): print('epoch: {}'.format(i)) cnt = 0 for i in range(n): x, y = random(), random() if x**2 + y**2 <= 1: cnt += 1 return 4*cnt/n if __name__ == '__main__': pool = Pool(os.cpu_count()//2) pool.map(monte_carlo_pi, range(10))