page contents

进程的5态

进程的5种状态,看过来!

新状态:进程正在被创建

就绪态:运行的条件都已准备,正在等在cpu执行

执行态:cpu正在执行其功能

等待态:等待某些条件满足,例如一个程序sleep了,此时就处于等待态

终止:进程已经完成或被迫终止。

 import time
 print('同学们上课啦')   # # 程序开始,运行状态
 name = input('输入你的姓名:') # 用户输入,进入阻塞
 print(name)  # 运行状态
 time.sleep(2) # 睡眠2秒,阻塞状态
 print('同学们下课啦')  # 运行状态

判断进程是否存活:

 from multiprocessing import Process
 
 def sing(name1):  # 可以不带参数
     print(f'{name1}唱歌唱出了鬼叫声')
 def dance(name2):
     print(f'{name2}跳舞跳出了国际范')
 
 if __name__ == '__main__':       # 直接执行文件,如果是当作模块导入,__name__ = 模块名
     p1 = Process(target=sing,args=('lucy',))  
     p2 = Process(target=dance,args=('lily',))  #args为元组形式,一个元素时要加逗号
     p1.start()  #启动子进程实例p1,这个时候p1已启动(在此处为就绪状态)
   
     # p1.join()   #p1进程阻塞,主线程等待p1执行完
     p2.start()
     # p2.join()   #p2进程阻塞,主线程等待p2执行完
     
     #默认先执行主进程语句,加入阻塞join,则主进程会等待子进程执行完再执行。
     
     print('p1的状态是:', p1.is_alive())  # cpu先调用主进程,即先执行主进程这条语句。此时子进程p1还未执行完,所以为True
     print('p2的状态是:', p2.is_alive())  # cpu先调用主进程
     
 运行结果:
 p1的状态是: True
 p2的状态是: True
 lucy唱歌唱出了鬼叫声
 lily跳舞跳出了国际范

  • 发表于 2021-07-14 21:58
  • 阅读 ( 576 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Wilia
Wilia

28 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1734 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章