多进程编程

Posted z-qinfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多进程编程相关的知识,希望对你有一定的参考价值。

多线程与多进程的比较 这一篇中记录了多进程编程的一种方式.

下面记录一下多进程编程的别一种方式,即使用multiprocessing编程

import multiprocessing
import time


def get_html(n):
    time.sleep(n)
    print(sub process %s % n)
    return n


if __name__ == __main__:
    # 多进程编程
    process = multiprocessing.Process(target=get_html, args=(2,))
    process.start()
    print(process.pid)  # 进程号
    process.join()
    print(main process success!)

    # 使用多进程池编程
    pool = multiprocessing.Pool(multiprocessing.cpu_count())
    # result =pool.apply_async(get_html, (3,))
    # # 关闭pool
    # pool.close()
    # # 等待所有任务完成
    # pool.join()
    # print(result.get())

    # 使用imap方法, 有序执行,且直接返回结果值
    # for result in pool.imap(get_html, [1, 5, 3]):
    #     print(‘{} sleep success‘.format(result))
    # pool.close()

    # imap_unordered 与imap相似,但是谁先执行完成,谁先返回结果
    # for result in pool.imap_unordered(get_html, [1, 5, 3]):
    #     print(‘{} sleep success‘.format(result))
    # pool.close()

以上是关于多进程编程的主要内容,如果未能解决你的问题,请参考以下文章

python中的多线程和多进程编程

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

代码片段:Shell脚本实现重复执行和多进程

什么是Java多线程编程?

线程学习知识点总结

什么是多线程,多进程?