并发编程---Process对象的其他属性或方法
Process对象的其他属性或方法
#join方法
from multiprocessing import Process
import time,os '''
需求:让主进程等着子进程运行完毕,才能基于子进程运行的结果,进而执行。
'''
def task():
print('%s is running,parent id is <%s>' %(os.getpid(),os.getppid()))
time.sleep(3)
print('%s is done,parent id is <%s>' %(os.getpid(),os.getppid())) if __name__ == '__main__':
p = Process(target=task,)
p.start() p.join()# 主进程会在着等,等的过程中一直运行子进程
print('主',os.getpid(),os.getppid())
print(p.pid) ###并发###
from multiprocessing import Process
import time,os
'''
需求:让主进程等着子进程运行完毕,才能基于子进程运行的结果,进而执行。
'''
def task(name,n):
print('%s is running' %name)
time.sleep(n) if __name__ == '__main__':
start=time.time() # 判断三个子进程是并发的,还是串行
p1 = Process(target=task,args=('子进程1',5))
p2 = Process(target=task,args=('子进程2',4))
p3 = Process(target=task,args=('子进程3',3))
p_l=[p1,p2,p3] # p1.start()
# p2.start()
# p3.start()
for p in p_l:
p.start() # p1.join()
# p2.join()
# p3.join()
for p in p_l:
p.join()
# p.start只是发一个信号,操作系统可能接收其他程序发的信号,不回去考虑谁先发送的信号,是统筹管理的
print('主',(time.time()-start)) ###串行###
from multiprocessing import Process
import time,os
'''
需求:让主进程等着子进程运行完毕,才能基于子进程运行的结果,进而执行。
'''
def task(name,n):
print('%s is running' %name)
time.sleep(n) if __name__ == '__main__':
start=time.time() # 判断三个子进程是并发的,还是串发
p1 = Process(target=task,args=('子进程1',5))
p2 = Process(target=task,args=('子进程2',4))
p3 = Process(target=task,args=('子进程3',3)) p1.start()
p1.join()
p2.start()
p2.join()
p3.start()
p3.join()
# p.start只是发一个信号,操作系统可能接收其他程序发的信号,不回去考虑谁先发送的信号,是统筹管理的
print('主',(time.time()-start)) ###了解###
from multiprocessing import Process
import time,os def task():
print('%s is running,parent id is <%s>' %(os.getpid(),os.getppid()))
time.sleep(3)
print('%s is done,parent id is <%s>' %(os.getpid(),os.getppid())) if __name__ == '__main__':
# p = Process(target=task,)
# p.start()
# print(p.is_alive()) # 打印结果:False
# p.join()
# print('主',os.getpid(),os.getppid())
# print(p.pid) # 打印进程id
# print(p.is_alive()) # 查看进程是死是活 打印结果:False p = Process(target=task,name='sub--Process')
p.start()
p.terminate() # 干死进程,但是只是给操作系统发一个信号,系统需要反应一段时间
time.sleep(3)
print(p.is_alive()) # 打印结果:False
print('主')
print(p.name) # 打印进程名称
并发编程---Process对象的其他属性或方法的更多相关文章
- 并发编程 - 进程 - 1.开启子进程的两种方式/2.查看pid/3.Process对象的其他属性或方法/4.守护进程
1.开启子进程的两种方式: # 方式1: from multiprocessing import Process import time def task(name): print('%s is ru ...
- Day9 进程理论 开启进程的两种方式 多进程实现并发套接字 join方法 Process对象的其他属性或者方法 守护进程 操作系统介绍
操作系统简介(转自林海峰老师博客介绍) #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬件的竞争变得有序 #二 多道技术: 1.产生背景: ...
- 8 并发编程-(线程)-多线程与多进程的区别&Thread对象的其他属性或方法
1.开启速度 在主进程下开启线程比 开启子进程快 # 1 在 主进程下开启线程 from threading import Thread def work(): print('hello') if ...
- 并发编程 - 线程 - 1.开启线程的两种方式/2.进程与线程的区别/3.Thread对象的其他属性或方法/4.守护线程
1.开启线程的两种方式: 进程,线程: 进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合)而线程才是cpu上的执行单位) 1.同一个进程内的多个线程共享该进程内的地址资源 2.创建线 ...
- 多线程《四》Thread对象的其他属性和方法
Thread对象的其他属性或方法 介绍 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名. th ...
- python 并发编程 多进程 Process对象的其他属性方法 join 方法
一 Process对象的join方法 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一: 在主进程的任务与子进程的任务彼此独立的情况下 ...
- python 并发编程 多进程 Process对象的其他属性方法 terminate与is_alive name pid 函数
进程对象的其他方法一: terminate与is_alive is_alive() 立刻查看的子进程结果 是否存活 from multiprocessing import Process impor ...
- python 并发编程 多线程 Thread对象的其他属性或方法
介绍 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名. threading模块提供的一些方法: ...
- 并发编程 process 模块的方法及运用 僵尸与孤儿
进程创建的两种方法 Process() 继承Process 重写run方法,传参数的时候要写init,但是注意要在init方法中运行父类的init方法 Windows下写代码开启子进程时,必须写上if ...
随机推荐
- Mybatis常见面试题(转)
Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍 ...
- Web 文件上传 目录
0. SpringMVC -- 梗概--源码--贰--上传 1. Web上传文件的原理及实现 2. Web文件上传方法总结大全 3. SpringMVC 文件上传配置,多文件上传,使用的Multipa ...
- C#基础系列——语法
1.C#是这样开始的: 函数入口:static void Main(String [] args){} 2.Hello World 例子 using system;--------导入命名空间,里 ...
- 4. Oracle数据库用户管理备份与恢复
一. Oracle用户管理备份介绍 Oracle物理备份核心就是将物理文件拷贝一份副本:存放在磁盘上.物理文件指的是:数据文件,控制文件,日志文件,参数文件等等. 根据数据库状态而分:备份可分为热备份 ...
- WebApi中的Session与Token间的处理对接
首先,说起来创建session,一般会针对注册登录或者授权等情况: session 从字面上讲,就是会话.这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长 ...
- nodejs小问题拾遗
1.npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\Root\package.json' cd 切换到D:\n ...
- 6.18_web服务器内容
#coding:utf-8 ''' 2018-6-18 14:47:23 创建一个静态服务器访问指定页面 http://127.0.0.1:8000/ ''' import socket from m ...
- E - 棋盘问题
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C. ...
- 如何迁移完整SQL数据库到另外一台服务器
如何迁移完整SQL数据库到另外一台服务器: https://jingyan.baidu.com/album/9f7e7ec080d1b36f28155422.html?picindex=1
- [No000018C]Vim清除上次的搜索高亮结果-Vim使用技巧(1)
在打开文件中使用Vim搜索功能并开启高亮显示后怎么取消当前高亮显示的目标词? 最简单的方法是再使用Vim搜索一串文档中不存在的目标词来覆盖当前高亮的搜索结果. 其实,可以在Vim尾行模式下使用 :no ...