请问这节课的源代码提供了吗。。
来源:8-6 如何使用多进程

不务正业的码农
2018-05-12
我在8_6里看见的好像和课上演示的不一样。
1回答
-
allonn
2018-05-26
# 多进程&多线程性能对比
from threading import Thread
from multiprocessing import Process
def isArmstrong(n):
a, t = [], n
while t > 0:
a.append(t % 10)
t //= 10 # 取整除, 返回商的部分
k = len(a)
return sum(x ** k for x in a) == n
def findArmstrong(a, b):
print(a, b)
res = [k for k in range(a, b) if isArmstrong(k)]
print('%s ~ %s: %s' % (a, b, res))
def findByThread(*argslist):
workers = []
for args in argslist:
worker = Thread(target=findArmstrong, args=args)
workers.append(worker)
worker.start()
def findByProcess(*argslist):
workers = []
for args in argslist:
worker = Process(target=findArmstrong, args=args)
workers.append(worker)
worker.start()
for worker in workers:
worker.join()
if __name__ == '__main__':
import time
start = time.time()
# 29s
# findByProcess((20000000, 25000000), (25000000, 30000000))
findByThread((20000000, 25000000), (25000000, 30000000))
print(time.time() - start)00
相似问题