zoukankan      html  css  js  c++  java
  • 进程

    from multiprocessing import Process
    import time
    
    def task(name):
        print('%s is  uynn'%name)
        time.sleep(3)
        print('%s is don'%name)
    
    if __name__ == '__main__':
        #在Windows系统上,开启子进程的操作一定要放这下面 ,#比较常用
    这个表示执行的是此代码所在的文件。 如果这个文件是作为模块被其他文件调用,不会执行这里面的代码。
    只有执行这个文件时, if 里面的语句才会被执行。 这个功能经常可以用于进行测试。
    
        p=Process(target=task,args=('egon',))
        p.start()#向操作系统发送请求,操作系统会申请内存空间,然后把父进程的数据拷贝给子进程,作为子进程
        print('==========')

    from multiprocessing import Process
    import time
    class My(Process):
        def __init__(self,name):
            super(My,self).__init__()
            self.name=name
    
        def run(self):
            print('%s is running'%self.name)
            time.sleep(3)
            print('%s is don '%self.name)
    if __name__ == '__main__':
        p=My('egon')
        p.start()
        print('')
    
    # 上面一种直接  常用
    # 下面一种重用父类功能

    from multiprocessing import Process
    import time
    x=10000
    def task():
        time.sleep(3)
        global x
        x=0
        print('儿子死了',x)
    
    if __name__ == '__main__':
            p=Process(target=task)
            p.start()
            time.sleep(5)
            print(x)
    子进程和父进程是隔离开的  print(x)是
    
    四,父进程等待子进程结束  用join
    from multiprocessing import Process
    import time,random#随机
    x=1000
    def task(n):
        print('%s is runibg' %n)
        time.sleep(n)
    if __name__ == '__main__':
        #start_time=time.time()
    
        # p1=Process(target=task,args=(1,))
        # p2=Process(target=task,args=(2,))
        # p3=Process(target=task,args=(3,))
        # p1.start()
        # p2.start()
        # p3.start()
        #
        # p1.join()
        # p2.join()
        # p3.join()
        # print('阻',(time.time()-start_time))
    
    用for 循环
    from multiprocessing import Process
    import time,random#随机
    x=1000
    def task(n):
        print('%s is runibg' %n)
        time.sleep(n)
    if __name__ == '__main__':
        start_time=time.time()
        p_l=[]
        for i in range(1,4):
            p=Process(target=task,args=(i,))
            p_l.append(p)
            p.start()
        for p in p_l:
            p.join()
        print('',(time.time()-start_time))

     

  • 相关阅读:
    C#Type类中的IsAssignableFrom、IsInstanceOfType、IsSubclassOf
    C# IsAssignableFrom & IsInstanceOfType & IsSubclassOf & Is
    VS2017桌面应用程序打包成.msi或者.exe
    C# 10个常用特性
    ADO.NET 的六大对象及其关系图
    Expression表达式树(C#)
    表达式树 Expression Trees
    特性 Attribute
    C# 特性(attribute)
    Vue中使用axios
  • 原文地址:https://www.cnblogs.com/maojiang/p/8934411.html
Copyright © 2011-2022 走看看