zoukankan      html  css  js  c++  java
  • 开启进程的两种方式

    #方式一: 常用
    from multiprocessing import Process
    import time
    
    def task(name):
        print('%s is running' %name)
        time.sleep(3)
        print('%s is done' %name)
    
    
    if __name__ == '__main__':
        # 在windows系统之上,开启子进程的操作一定要放到这下面
        # Process(target=task,kwargs={'name':'egon'})
        p=Process(target=task,args=('egon',))
        p.start() # 向操作系统发送请求,操作系统会申请内存空间,然后把父进程的数据拷贝给子进程,作为子进程的初始状态
        print('======主')
    
    
    
    #方式二: 必须知道
    from multiprocessing import Process
    import time
    
    class MyProcess(Process):
        #可以省略
        def __init__(self,name):
            super(MyProcess,self).__init__()
            self.name=name
    
        # 当进程被执行时 其实执行的就是run函数
        def run(self):
            print('%s is running' %self.name)
            time.sleep(3)
            print('%s is done' %self.name)
    
    
    if __name__ == '__main__':
        p=MyProcess('egon')
        p.start()
        print('')
    # 两种的区别:
    # 方式一: 是直接定义一个功能,开进程时直接使用别人写好的类(Process) 把target指定为定制的方法
    #
    # 方式二: 继承父类(Process)把target 指定的方法写到 run()里面
  • 相关阅读:
    布局
    面向对象....(概况)
    下拉城市列表
    下拉列表
    内容窗体
    《面向对象》-继承
    《面向对象》--类
    《面向对象》第一讲
    常用的正则表达式
    正则表达式
  • 原文地址:https://www.cnblogs.com/TF511/p/9925337.html
Copyright © 2011-2022 走看看