进程对象的其他方法一: terminate与is_alive

is_alive()  立刻查看的子进程结果 是否存活

from multiprocessing import Process
import time
import os def task(name): print("%s is running" % (name))
time.sleep(3)
print("%s is done" % (name)) if __name__ == "__main__": p = Process(target=task,args=("子进程",))
p.start()
# 查看的子进程结果是否存活
print(p.is_alive())
p.join() # 查看的子进程结果是否存活
print(p.is_alive())
print("主",) '''
True 子进程存活
子进程 is running
子进程 is done
False 子进程不存活

'''

terminate() 关闭子进程,这种也是给操作系统发送信号和start 一样

子进程还活着

from multiprocessing import Process
import time
import os def task(name): print("%s is running" % (name))
time.sleep(3)
print("%s is done" % (name)) if __name__ == "__main__": p = Process(target=task,args=("子进程",))
p.start() # 关闭子进程 给操作系统发送信号
p.terminate()
print(p.is_alive())
p.join() print("主",) '''
True 子进程还活着

'''

关闭子进程,把内存空间回收,是操作系统做的,但是什么时候关闭进程的时间就不知道了

terminate() 只是发送信号

解决:需要time.sleep() 让程序睡的时间长点

信号发出后,需要操作系统反应一段时间

from multiprocessing import Process
import time
import os def task(name): print("%s is running" % (name))
time.sleep(3)
print("%s is done" % (name)) if __name__ == "__main__": p = Process(target=task,args=("子进程",))
p.start() # 关闭子进程 给操作系统发送信号
p.terminate()
time.sleep(3)
print(p.is_alive())
p.join() print("主",) '''
False

'''

pid 查看子进程pid

p.pid

name 查看子进程名字

p.name

不设置进程名字 默认会给子进程 设置名字 Process-1

python 并发编程 多进程 Process对象的其他属性方法 terminate与is_alive name pid 函数的更多相关文章

  1. python 并发编程 多进程 Process对象的其他属性方法 join 方法

    一 Process对象的join方法 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一: 在主进程的任务与子进程的任务彼此独立的情况下 ...

  2. 并发编程(Process对象的join方法)(

    一. Process对象的join方法 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一:在主进程的任务与子进程的任务彼此独立的情况下 ...

  3. python 并发编程 多进程 目录

    python multiprocessing模块 介绍 python 开启进程两种方法 python 并发编程 查看进程的id pid与父进程id ppid python 并发编程 多进程 Proce ...

  4. python 并发编程 多线程 Thread对象的其他属性或方法

    介绍 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名. threading模块提供的一些方法: ...

  5. python并发编程&多进程(二)

    前导理论知识见:python并发编程&多进程(一) 一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_cou ...

  6. python并发编程&多进程(一)

    本篇理论居多,实际操作见:  python并发编程&多进程(二) 一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行) ...

  7. Python并发编程-多进程

    Python并发编程-多进程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多进程相关概念 由于Python的GIL全局解释器锁存在,多线程未必是CPU密集型程序的好的选择. ...

  8. python 并发编程 多进程 队列目录

    python 并发编程 多进程 队列 python 并发编程 多进程 生产者消费者模型介绍 python 并发编程 多进程 生产者消费者模型总结 python 并发编程 多进程 JoinableQue ...

  9. python 并发编程 多进程 互斥锁 目录

    python 并发编程 多进程 互斥锁 模拟抢票 互斥锁与join区别

随机推荐

  1. 机器学习降维--lu分解

  2. Windows 7、Windows XP SP3关闭DEP堆栈执行保护

    Windows XP SP3 在Windows XP SP3中,关闭DEP的方法是: 编辑C:\boot.ini,你大概会看到如下内容 [boot loader] timeout=30 default ...

  3. 微信小程序-饮食日志_开发记录01

    今天主要了解微信小程序的框架结构以及环境部署等. 小程序的框架主要分为: js.json.wxss.wxml等 和java web的内容相似,主要了解内部代码的使用情况和语言方式. 主要写了页面的框架 ...

  4. python的xlrd、xlwt模块、openpyxl /pymsql使用

    xlrd模块: https://www.cnblogs.com/machangwei-8/p/10736528.html#_label0 xlwt模块 https://www.cnblogs.com/ ...

  5. less中的for循环

    .loop(@count) when (@counter > 0) {   .loop((@counter - 1));    // 递归调用自身   width: (10px * @count ...

  6. Swagger+SpringBoot整理

    maven依赖 1 <dependency> 2 <groupId>io.springfox</groupId> 3 <artifactId>sprin ...

  7. SpringBoot 入门实战篇

    SpringBoot入门 使用SpringBoot + mysql + Jpa 快速搭建一个spring项目 Spring Boot 2 + Spring Data JPA + MySQL 8 簡單範 ...

  8. HTML 和 CSS 画三角形和画多边行基本原理及实践

    基本 HTML 标签 <div class = 'test'></div> 基本 CSS 代码 .test { width: 100px; height: 100px; bac ...

  9. Vue-router 中hash模式和history模式的区别

    实际上存在三种模式: Hash: 使用URL的hash值来作为路由.支持所有浏览器. History: 以来HTML5 History API 和服务器配置.参考官网中HTML5 History模式 ...

  10. python学习之路(25)

    继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base clas ...