• 技术文章 >Python技术 >Python基础教程

    python多进程取代多线程的探究

    小妮浅浅小妮浅浅2021-05-17 09:46:22原创2440

    1、说明

    可以使用多核CPU的多进程。

    利用多进程,我们并行地运行一些python解释器,每个进程都有自己的私有空间,有自己的GIL,而且每个进程都是串行的,因此GIL之间不存在竞争。

    所以GIL没有任何问题。Python提供了一个multiprocessing模块,使我们可以很容易地创建流程。

    2、实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    import time

    from multiprocessing import Pool

    COUNT = 10000000

    start = time.clock()

    def countdown(n):

        while n > 0:

            n -= 1

      

    pool = Pool(processes=2)

    start = time.clock()

    r1 = pool.apply_async(countdown, [COUNT//2])

    r2 = pool.apply_async(countdown, [COUNT//2])

    pool.close()

    pool.join()

    print('Time used:', time.clock() - start)

    # ('Time used:', 0.0017779999999998353)

    以上就是python多进程取代多线程的探究,希望能对大家有所帮助。更多Python学习指路:python基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python多进程
    上一篇:python中GIL的原理 下一篇:python协程的作用

    相关文章推荐

    • python中collections.Counter是什么?• python collections.Counter的计数• python中使用OpenCV画线• python中用OpenCV在图像添加文本• python中geth如何使用?• python中GIL的原理

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网