• 多进程multiprocessing模块,及join的用法


     1 from multiprocessing import Process
     2 
     3 def func(name):
     4     print(name, "在吃饭")
     5 
     6 if __name__ == '__main__':
     7     a = Process(target=func, name = "吃饭", args=("小明", ))     # 此处,args参数是元组形式,
     8     # 实例化一个进程
     9     b = Process(target=func, args=("小红", ))     # 此处,args参数是元组形式,
    10     # 在实例化一个进程
    11     a.daemon = True  # 设置a进程为守护进程,进程启动前设置,(守护进程是伴随主程序代码结束而结束)可用在监测主进程运行状态
    12     a.start()   # 开启一个进程(只是给操作系统发送请求,开启一个进程,就不管了)
    13     b.start()
    14     print(a.pid)    # 打印进程a的的PID号14672(身份证号)
    15     print(b.pid)        # 8764
    16     a.terminate()   # 终止(杀死)进程
    17     print(a.is_alive())        # 判断进程是否存活
    18     print(a.name)       # 进程a的名字  自定义的:吃饭
    19     print(b.name)       # b进程的名字  默认的名字:Process-2
    20     print("小丽在吃饭")
    21     # 三个进程之间,开启时间顺序不一,没有先后

    接下来是join的用法:

     join是把下面,非join代码,都当成主进程..要在本进程执行结束后,在执行主进程

     1 from multiprocessing import Process
     2 
     3 def func(name):
     4     print(name, "在吃饭")
     5 
     6 if __name__ == '__main__':
     7     a = Process(target=func, args=("小明", ))
     8 
     9     b = Process(target=func, args=("小红", ))
    10 
    11     c = Process(target=func, args=("小刚",))
    12 
    13 
    14     b.start()
    15     b.join()    # 下面的代码,要在b进程执行结束,再执行
    16 
    17     a.start()
    18     c.start()
    19     a.join()    # 多个join连在一起,就无需等相互间执行的结果(最终都是相对于主进程)
    20     c.join()
    21 
    22     print("小丽在吃饭")
  • 相关阅读:
    Codeforces #548 (Div2)
    Codeforces #550 (Div3)
    UVA
    ios 动画
    CAAnimation
    iOS三种定时器的用法NSTimer、CADisplayLink、GCD
    iOS使用宏写单例
    iOS完美的网络状态判断工具
    iOS开发
    iOS自定义控件教程:制作一个可重用的旋钮
  • 原文地址:https://www.cnblogs.com/NoteBook3013/p/10446811.html
Copyright © 2020-2023  润新知