进程对象的其他方法一: 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. svn 服务器的搭建以及客户端的使用

    1.svn 服务器的搭建以及客户端的使用,安装见下面的博客 https://blog.csdn.net/zh123456zh789/article/details/80921179 说明:服务器只是用 ...

  2. TJOI2017DNA

    P3763 [TJOI2017]DNA 字符串匹配,字符集大小为\(4\),认为相差不超过\(3\)即合法. 对每一种字符分开考虑不同产生的贡献. 对于串\(S\),如果当前位置相同则\(S_i=1\ ...

  3. 使用注解方式实现账户的CRUD

    1 需求和技术要求 1.1 需求 实现账户的CRUD. 1.2 技术要求 使用Spring的IOC实现对象的管理. 使用QueryRunner作为持久层的解决方案. 使用C3p0作为数据源. 2 环境 ...

  4. C++中的取地址符(&)

    这个符号特别容易混淆, 因为在C++中, &有两种不同用法: 获得变量地址 引用传递 第一个例子, int main() { std::string s = "Hello" ...

  5. [洛谷P3320] SDOI2015 寻宝游戏

    问题描述 小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达.游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然后可以任意在地图的 ...

  6. tf.expand_dims和tf.squeeze函数

    from http://blog.csdn.net/qq_31780525/article/details/72280284 tf.expand_dims() Function tf.expand_d ...

  7. Linux设置程序开机自启动

    注意: 作者测试时,Linux版本为RedHat6,同时应用在CentOS6应该也可以(作者未实测,但有同事在CentOS6上使用可行),系统版本的不同,可能造成操作上的差异(CentOS7就与Cen ...

  8. PHP基础教程 PHP的页面缓冲处理机制

    PHP有很多机制.函数,其实就是魔术师,重复发挥好,其实甚至是简单应用,就会出现神奇的效果.兄弟连PHP培训 这里来讲一个ob_start()函数. ob_start()函数用于打开缓冲区,比如hea ...

  9. [LeetCode]-algorithms-Longest Palindromic Substring

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...

  10. DjangoRESTFrameWork中的视图

    DRF中的request 在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等. 比如,区别于Dj ...