#jupyter Notebook
import multiprocessing as mp
pool = mp.Pool(processes =4)
p1 = int(1e8 + 7)
#Determine whether it is a prime number
def is_prime(I):
if I%2 ==0:#################
return False
for i in range(3, int(I**0.5) + 1, 2): ###############
if I%i ==0:##########
return False##########
return True#######
%time pool.map(is_prime, 10*[p1])
mac 或者 Linux 或许可以运行得到如下结果
我在windows版本下一直运行就是没有结果
之后在 Spyder中因为运行不了所以更改了代码
import multiprocessing as mp
p1 = int(1e8 + 7)
#Determine whether it is a prime number
def is_prime(I):
if I%2 ==0:#################
return False
for i in range(3, int(I**0.5) + 1, 2): ###############
if I%i ==0:##########
return False##########
return True#######
if __name__ == '__main__':
pool = mp.Pool(processes =4)
print(pool.map(is_prime, 10*[p1]) )
2. #Jupyter in MAC OS or Linux OS
import numba
import multiprocessing as mp
p2 = 100109100129162907
pool = mp.Pool(processes =4)
#Determine whether it is a prime number
def is_prime(I):
if I%2 ==0:#################
return False
for i in range(3, int(I**0.5) + 1, 2): ###############
if I%i ==0:##########
return False##########
return True#######
#pool.map(is_prime_nb, 10 * [p2])
is_prime_nb = numba.jit(is_prime)
show:
#Spyder in windows 7
import numba
import multiprocessing as mp
p2 = 100109100129162907
#Determine whether it is a prime number
def is_prime(I):
if I%2 ==0:#################
return False
for i in range(3, int(I**0.5) + 1, 2): ###############
if I%i ==0:##########
return False##########
return True#######
#pool.map(is_prime_nb, 10 * [p2])
is_prime_nb = numba.jit(is_prime)
if __name__ == '__main__':
pool = mp.Pool(processes =4)
print(pool.map(is_prime_nb, 10 * [p2]) )