• python-day33--Process类中的方法及属性


    p.daemon = True -->守护进程,守护进程不可以再有子进程,并且主进程死守护进程就死,要写在p.start()之前
    p.join() ---> 主进程等子进程执行完 之后再结束---> 等的时间就是执行时间最长的子进程执行的时间
    p.terminate()-->强制终止进程p,不会进行任何清理操作,如果p创建了子进程,该子进程就成了僵尸进程,用该方法需要特别小心这种情况。如果p保存了一个锁那么也将不会被释放,进而导致死锁
    p.is_alive() -->如果p仍然运行,返回True
    p.name -->查看进程的名称
    p.pid  -->查看进程的pid
     1 from multiprocessing import Process
     2 import os
     3 import time
     4 def work():
     5     print('%s is working' %os.getpid())
     6     time.sleep(3)
     7 if __name__ == '__main__':
     8     p1=Process(target=work)
     9     p1.start() #初始化1
    10 
    11     print(p1.name)
    12     print(p1.pid)
    13     print('基于初始化的结果来继续运行')
    14 
    15 
    16 
    17 
    18 #结果
    19 Process-1
    20 7588
    21 基于初始化的结果来继续运行
    22 7588 is working
    View Code
     1 from multiprocessing import Process
     2 import os
     3 import time
     4 def work():
     5     print('%s is working' %os.getpid())
     6     time.sleep(3)
     7 if __name__ == '__main__':
     8     p1=Process(target=work)
     9     p2=Process(target=work)
    10     p3=Process(target=work)
    11     p1.daemon=True
    12     p2.daemon=True
    13     p3.daemon=True
    14     p1.start() #初始化1
    15     p2.start() #初始化2
    16     p3.start() #初始化3
    17 
    18 #    p3.join()
    19 #    p1.join()
    20 #    p2.join()
    21     print('基于初始化的结果来继续运行')
    22 
    23 
    24 不加join结果:
    25   基于初始化的结果来继续运行
    26 
    27 加上join结果:
    28  7760 is working
    29  1668 is working
    30  9628 is working
    31  基于初始化的结果来继续运行
    32     
    View Code
     1 from multiprocessing import Process
     2 import time
     3 def work():
     4     print('%s is working' %os.getpid())
     5     time.sleep(1)
     6 if __name__ == '__main__':
     7     p1=Process(target=work)
     8     p1.start() #初始化1
     9 
    10     p1.terminate()
    11     time.sleep(3)
    12     print(p1.is_alive())
    13     print('基于初始化的结果来继续运行')
    View Code
  • 相关阅读:
    oracle 添加用户
    oracle---存储结构及其之间的关系和创建数据库
    oracle---临时表空间
    对字符串进行加密解密知识
    面向对象---函数重复---原型
    Ajax
    sqlHelper+app.config
    sqlHelper ---转载
    web.config中的连接字符串 ---关于 providerName 特性---转载
    SQL中的cast()函数--转载
  • 原文地址:https://www.cnblogs.com/liuwei0824/p/7428634.html
Copyright © 2020-2023  润新知