import time
from concurrent.futures import ThreadPoolExecutor, as_completed
from concurrent.futures import ProcessPoolExecutor
def fib(n):
if n<=2:
return 1
return fib(n-1)+fib(n-2)
with ProcessPoolExecutor(3) as executor:
all_task = [executor.submit(fib,num) for num in range(25,35)]
start_time = time.time()
for future in as_completed(all_task):
data = future.result()
print('get {} page'.format(data))
print('last time is:{}'.format(time.time()-start_time))
import multiprocessing
import os
import time
def get_html(n):
time.sleep(n)
print('sub_progress success')
return n
if __name__ == '__main__':
# progress = multiprocessing.Process(target=get_html,args=(2,))
# progress.start()
# progress.join()
# print('main progress end')
pool = multiprocessing.Pool(multiprocessing.cpu_count())
result = pool.apply_async(get_html, args=(3,))
#等待所有任务完成
pool.close()
pool.join()
print(result.get())