import concurrent.futures
import math
PRIMES =[112272535095293,112582705942171,112272535095293,115280095190773,115797848077099,1099726899285419]defis_prime(n):if n %2==0:returnFalse
sqrt_n =int(math.floor(math.sqrt(n)))for i inrange(3, sqrt_n +1,2):if n % i ==0:returnFalsereturnTruedefmain():with concurrent.futures.ProcessPoolExecutor()as executor:for number, prime inzip(PRIMES, executor.map(is_prime, PRIMES)):print('%d is prime: %s'%(number, prime))if __name__ =='__main__':
main()
from multiprocessing import Pool
import time
deff(x):return x*x
if __name__ =='__main__':with Pool(processes=4)as pool:# start 4 worker processes
result = pool.apply_async(f,(10,))# evaluate "f(10)" asynchronously in a single processprint(result.get(timeout=1))# prints "100" unless your computer is *very* slowprint(pool.map(f,range(10)))# prints "[0, 1, 4,..., 81]"
it = pool.imap(f,range(10))print(next(it))# prints "0"print(next(it))# prints "1"print(it.next(timeout=1))# prints "4" unless your computer is *very* slow
result = pool.apply_async(time.sleep,(10,))print(result.get(timeout=1))# raises multiprocessing.TimeoutError