python多进程编程
Posted 愤怒中的小草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python多进程编程相关的知识,希望对你有一定的参考价值。
""""
import os
import time
#fork只用于linux中
pid = os.fork()
print("hello")
if pid == 0:
print("子进程{},父进程是{}".format(os.getpid(),os.getppid()))
else:
print("父进程是{}".format(os.getppid()))
#加这个的目的是当父进程关闭的时候关闭子进程
time.sleep(2)
"""
from concurrent.futures import ProcessPoolExecutor
import multiprocessing
#多进程编程
import time
def get_html(n):
time.sleep(n)
print("sub_process")
return n
if __name__ == "__main__":
#process = multiprocessing.Process(target=get_html,args=(2,))
#process.start()
#process.join()
#print("main process")
#进程池
pool = multiprocessing.Pool(multiprocessing.cpu_count())
#result = pool.apply_async(get_html,args=(3,))
#等待所有任务完成加入
#pool.close()
#pool.join()
#print(result.get())
#imap
#for result in pool.imap(get_html,[1,5,3]):
# print("{} sleep success".format(result))
for result in pool.imap_unordered(get_html,[1,5,3]):
print("{} sleep success".format(result))
以上是关于python多进程编程的主要内容,如果未能解决你的问题,请参考以下文章