ホームページ  >  記事  >  バックエンド開発  >  Pythonでのプロセスプールの簡単な実装コード

Pythonでのプロセスプールの簡単な実装コード

不言
不言転載
2018-10-08 15:26:482721ブラウズ

この記事の内容はPythonでのプロセスプールの簡単な実装コードですが、ある程度参考になる内容ですので、困っている方は参考にしていただければ幸いです。

Python に戻り、Python プロセス プールを使用します。

前回の面接で、面接官が「プロセス プールのデフォルト パラメーターを知っていますか?」と尋ねたのを覚えています。私は答えませんでしたが、後でデフォルトのパラメータがあることが分かりました。デフォルトのパラメータを見てみましょう

1. パラメータなし

from multiprocessing.pool import Pool
from time import sleep
def fun(a):
    sleep(5)
    print(a)

if __name__ == '__main__':
    p = Pool()      # 这里不加参数,但是进程池的默认大小,等于电脑CPU的核数
                    # 也是创建子进程的个数,也是每次打印的数字的个数
    for i in range(10):
        p.apply_async(fun, args= (i, ))
    p.close()
    p.join()        # 等待所有子进程结束,再往后执行
    print("end")

2. パラメータあり5

from multiprocessing.pool import Pool
from time import sleep
def fun(a):
    sleep(5)
    print(a)
if __name__ == '__main__':
    p = Pool(5)     # 最多执行5个进程,打印5个数
    for i in range(10):
        p.apply_async(fun, args= (i, ))
    p.close()
    p.join()        # 等待所有子进程结束,再往后执行
    print("end")

以上がPythonでのプロセスプールの簡単な実装コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。