zoukankan      html  css  js  c++  java
  • 昨日回顾

    昨日回顾

    多道技术:

    ​ 空间复用:多个程序公用一个内存条,彼此隔离,物理级别隔离

    ​ 时间复用:公用一个cpu

    切换的情况:

    ​ io切,占用时间过长也切

    串行:一个任务完完整整的运行结束,再运行下一个任务.

    并发:看起来是同时执行多个任务 单核

    并行:真正的做到了同时执行多个任务 多核

    #开启子进程的方式
    #####方式一
    from multiprocessing import Process
    
    
    def task():
        pass
    
    
    if __name__ == '__main__':
        p = Process(target=task)
        p.start()
    ##### 方式二
    
    from multiprocessing import Process
    
    class MyP(Process):
        def run(self):
            pass
    
    if __name__ == '__main__':
        p = MyP()
        p.start() # 给操作系统发一个亲请求,操作系统去开进程
        print('sadf')
    

    join回顾

    from multiprocessing import Process
    import time,os
    
    def task(s):
        time.sleep(s)
    
    
    if __name__ == '__main__':
    
        p1 = Process(target=task,args=(100,))
        p2 = Process(target=task,args=(2,))
        p3 = Process(target=task,args=(3,))
    
        p1.start()
        p2.start()
        p3.start()
        p1.join() # 等1s,
        p2.join() # 等1s,
        p3.join() # 等1s,内部会调用wait()
        print(p1.pid)
        print('子',p1.pid)
        print('主',os.getpid()) # 主进程要等待所有的子进程结束才会结束.因为主进程要在结束前回收僵尸进程.(*****)
    
    

    僵尸进程: 没有死透的子进程

    孤儿进程: 子进程运行的过程父进程死了就变成了孤儿进程,被进程init接管.

    父进程一直不死,一直在开启子进程,意味着占用过过多的pid并且不回收.

    解决方案: 强制杀死这个父进程.

    守护进程

    #本质也是进程
    #主进程的代码执行完毕守护进程直接结束
    #大前提:主进程结束前守护进程一直运行着
    from multiprocessing import Process
    import time
    def task():
        print('守护进程  start')
        # time.sleep(4)
        print('守护进程  end')
    
    
    if __name__ == '__main__':
        p = Process(target=task)
        p.daemon = True
        p.start()
        time.sleep(2)
        print('主')
    
  • 相关阅读:
    iOS埋点统计
    iOS CrashLog Analysis
    ffmpeg for iOS
    Charles抓包http和https
    reveal查看任意APP
    TesseractOCR
    JSPatch
    Mac如何找到从AppStore下载的正版Xcode安装包、以及Xcode清理缓存
    reveal
    TestFlight
  • 原文地址:https://www.cnblogs.com/aden668/p/11527682.html
Copyright © 2011-2022 走看看