我正在学习使用Python的Multiprocessing软件包来解决令人尴尬的并行问题,因此我编写了串行和并行版本来确定小于或等于自然数n的素数的数量.根据我从博客文章和Stack Overflow问题中读到的内容,我想出了以下代码:
串行
import math
import time
def is_prime(start, end):
"""determine how many primes within given range"""
numPrime = 0
for n in range(start, end+1):
isPrime = True
for i in range(2, math.floor(math.sqrt(n))+1):
if n % i == 0:
isPrime = False
break
if isPrime:
numPrime += 1
if start == 1:
numPrime -= 1 # since 1 is not prime
return numPrime
if __name__ == "__main__":
natNum = 0
while natNum < 2: …Run Code Online (Sandbox Code Playgroud) python parallel-processing embarrassingly-parallel parallelism-amdahl python-multiprocessing
python ×1