Python多进程(multiprocessing)用法

1、新建单一进程

如果我们新建少量进程,可以如下:

import multiprocessing
import time

def func(msg):
    for i in range(3):
        print(msg)
        time.sleep(1)
if __name__ == "__main__":
    p = multiprocessing.Process(target=func, args=("hello", ))
    p.start()
    p.join()
    print("Sub-process done.")

2、使用进程池

这不是线程池,这个可以将多核CPU全部跑满,非常的刺激,而且使用起来也超级简单。但是一定要用apply_async,如下所示:

import multiprocessing
import time

def func(msg):
    for i in range(3):
        print(msg)
        time.sleep(1)
if __name__ == "__main__":
    pool = multiprocessing.Pool(processes=10)
    for i in range(10):
        msg = "hello %d" %(i)
        pool.apply_async(func, (msg, ))
    pool.close()
    pool.join()
    print("Sub-process(es) done.")

希望本文涉及的知识能帮助大家更好的进行多线程运算

本文参考(https://www.jb51.net/article/67116.htm)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。