美文网首页
python(进程)

python(进程)

作者: OldSix1987 | 来源:发表于2016-09-13 20:25 被阅读36次

    进程


    (1)由于Python当初全局解释器锁的设计,导致了Python的使用线程的场合好像比较固定。
    (2)大部分使用比较多的是进程,但是开销上进程肯定更大。但是针对日常的一些脚本的使用,简单的爬虫来说,都OK了。

    (1)主要方法


    from multiprocessing import Process, Pool, cpu_count
    import os
    
    # 获取进程pid:
    os.getpid()
    
    # 开始、结束、等待
    p.start()
    p.close()
    p.join()  # 等待子进程结束之后再继续执行。
    
    
    

    (2)简单Demo


    # 调用子进程
    p = Process(target=func_name, args=('arg1', 'arg2'...)) # 这里面的参数指的是传入的func中会用到的参数
    p.start()
    p.join()
    
    
    # 进程池
    p = Pool(cpu_count())
    
    for i in range(5):
        p.apply_async(long_time_task, args(i, ))
    
    p.close()
    p.join()
    
    

    (3)子进程


    
    

    线程的进程之间的最大区别:


    多线程和多进程最大的不同在于:
     
    (1)多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响,
    (2)而多线程中,所有变量都由所有线程共享,所以,任何一个变量都可以被任何一个线程修改,
    因此,线程之间共享数据最大的危险在于多个线程同时改一个变量,把内容给改乱了。

    相关文章

      网友评论

          本文标题:python(进程)

          本文链接:https://www.haomeiwen.com/subject/lqvmettx.html