进程对象的其他方法一: 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对象的其他属性方法 join 方法
一 Process对象的join方法 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一: 在主进程的任务与子进程的任务彼此独立的情况下 ...
python 并发编程 多进程 目录
python multiprocessing模块 介绍 python 开启进程两种方法 python 并发编程 查看进程的id pid与父进程id ppid python 并发编程 多进程 Proce ...
python 并发编程 多线程 Thread对象的其他属性或方法
介绍 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名. threading模块提供的一些方法: ...
python并发编程&;多进程(二)
前导理论知识见:python并发编程&多进程(一) 一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_cou ...
python并发编程&;多进程(一)
本篇理论居多,实际操作见: python并发编程&多进程(二) 一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行) ...
Python并发编程-多进程
Python并发编程-多进程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多进程相关概念 由于Python的GIL全局解释器锁存在,多线程未必是CPU密集型程序的好的选择. ...
python 并发编程 多进程 队列目录
python 并发编程 多进程 队列 python 并发编程 多进程 生产者消费者模型介绍 python 并发编程 多进程 生产者消费者模型总结 python 并发编程 多进程 JoinableQue ...
python 并发编程 多进程 互斥锁 目录
python 并发编程 多进程 互斥锁 模拟抢票 互斥锁与join区别
python 并发编程-- 多进程
一 multiprocessing 模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程 ...
随机推荐
Eclipse工作常见问题总结
一.Eclipse常见快捷键使用 自动完成单词:Alt+/ 重命名:Shift+Alt+r(统一改变字段或方法名) 生成getter/setter方法: Shift+Alt+s,然后r 删除当前行:C ...
Spine批量导出Command line Export
1.准备工作及介绍 时间有点紧张,写的不是很详细,请见谅. 当前版本是2.2以上,购买版的.试用版的无法试用Command line Both Spine and the Spine launcher ...
Ubuntu-tomcat7目录
ubuntu下通过apt-get install tomcat7方式安装的tomcat目录分布如下,做个记录: user@myserver:/var/lib/tomcat7$ ls -lttotal ...
从ICLassFactory 为 CLSID的COM组建创建实例失败:c001f011
在sqlserver创建计划任务的时候,保存时出现:“从ICLassFactory 为 CLSID的COM组建创建实例失败:c001f011”. 解决方法:在运行sqlserver时,使用“以管理员身 ...
PostgreSQL Performance Monitoring Tools
PostgreSQL Performance Monitoring Tools https://github.com/CloudServer/postgresql-perf-tools This pa ...
Oracle 的简单描述
在 Oracle 开发中,客户端把 SQL 语句发送给服务器,服务器对 SQL 语句进行编译.执行,把执行的结果返回给客户端. Oracle SQL 语句由如下命令组成: 数据定义语言( DDL) ...
Android基础_2 Activity线性布局和表格布局
在activity的布局中,线性布局和表格布局是最简单的,这次分别从线性布局,表格布局以及线性布局和表格混合布局做了实验,实验中只需要编写 相应的xml的代码,java代码不需要更改,因为我们这里只是 ...
mac os升级为 Yosemite 10.10 后不能创建javaproject
出现这样的情况可能是因为mac系统升级导致JAVA的安装路径发生改变(Xcode升级后也出现模拟器位置改变的情况,不要奇怪) 之前安装的eclipse就自然找不到SDK的路径了,所以会捆绑失败 接下来 ...
Oracle教程-查询(二)
emp 雇员表字段名称 数据类型 是否为空 备注-------- ----------- -------- --------EMPNO NUMBER(4) ...
【Python】协程
协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在 ...