zoukankan      html  css  js  c++  java
  • 锁,队列

    进程的其他方法
    进程id,进程名字,查看进程是否活着is_alive() terminate()发送结束进程的信号

    僵尸进程和孤儿进程(了解)

    验证进程之间是空间隔离的

    守护进程
    
    import time
    from multiprocessing import Process
    
    def f1():
        time.sleep(3)
        print('子进程一号')
    
    def f2():
        time.sleep(5)
        print('普通子进程的代码')
    
    if __name__ == '__main__':
        p = Process(target=f1,)
        # 将该进程设置为守护进程,必须写在start之前,意思如果我的主进程代码运行结束了,你这个子进程不管运行到什么地方都直接结束
        p.daemon = True
        p.start()
    
        # 开启了一个普通的子进程来验证一下守护进程的结束纸盒主进程的代码结束有关,而整个程序的结束需要主进程和普通的子进程的代码都运行结束才结束
        p2 = Process(target=f2,)
        p2.start()
        # 等待2号普通进程的结束,才继续执行下面主进程中的代码
        p2.join()
        # 守护进程会跟着父进程的代码运行结束,就结束
        print('主进程结束')
    

      

    进程锁(同步锁/互斥锁)  *****
    Loc = Lock()
    Loc.acquire()
    需要锁的代码
    Loc.release()
    
    With loc:
        需要锁的代码
    

      

    进程队列  ***** Queue()
    Q = Queue(5)
    Q.put()  # 满了会等待
    Q.get()  #没有数据了会等待
    Q.qsize()
    Q.empty()  不可靠
    Q.full()不可靠
    Q.get_nowait()  #不等待,但是报错
    Q.put_nowait()   #不等待,但是报错
    

      

  • 相关阅读:
    包含min函数的栈
    树的子结构
    合并两个排序的链表
    反转链表
    字符移位
    有趣的数字
    顺时针打印矩阵
    有道云笔记自动签到
    Shell重定向
    Ubuntu 18.04安装Docker
  • 原文地址:https://www.cnblogs.com/YangWenYu-6/p/10267421.html
Copyright © 2011-2022 走看看