zoukankan      html  css  js  c++  java
  • 6守护父进程的子进程/子线程

    """守护父进程的子进程"""


    """
    可以在调用进程实例对象的方法start()之前将属性daemon的值设置为True,从而将进程设置为守护进程。
    守护进程是为了守护父进程而存在的子进程,当父进程结束时,守护进程没有存在的意义。
    守护进程会随着父进程的结束而立刻结束。
    """

    from multiprocessing import current_process, Process
    import time

    class MyProcess(Process):
    def run(self):
    print('子进程%d启动' % current_process().pid)
    time.sleep(2)
    print('子进程%d结束' % current_process().pid)


    def main():
    print('父进程%d启动' % current_process().pid)

    mp = MyProcess()

    mp.daemon = True
    mp.start()

    time.sleep(1)

    print('父进程%d结束' % current_process().pid)

    if __name__ == '__main__':
    main()

    ####################################################################

    """守护父线程的子线程"""


    """
    在创建线程实例对象时,可以将参数daemon的值设置为True,从而将线程设置为守护线程。
    此外,也可以在调用线程实例对象的方法start()之前将属性daemon的值设置为True,从而将线程
    设置为守护线程。
    守护线程是为了守护父线程而存在的子线程,当父线程结束时,守护线程没有存在的意义。
    守护线程会随着父线程的结束而立刻结束。
    """

    from threading import current_thread, Thread
    import time

    class Mythread(Thread):
    def run(self):
    print('子线程%s启动' % current_thread().getName())
    time.sleep(2)
    print('子线程%s结束' % current_thread().getName())


    print('父线程%s启动' % current_thread().getName())

    mt = Mythread()
    mt.setDaemon(True)
    #mt.daemon = True
    mt.start()

    time.sleep(1)

    print('父线程%s结束' % current_thread().getName())
  • 相关阅读:
    刷新
    自定义背景色
    会议通js
    Flex Layout Attribute
    spin.js
    jq size()与length的区别
    初识node.js
    [Swift]归并排序 | Merge sort
    [Swift]桶排序 | Bucket sort
    [Swift]计数排序 | Counting sort
  • 原文地址:https://www.cnblogs.com/sruzzg/p/12993905.html
Copyright © 2011-2022 走看看