博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Process的方法使用
阅读量:6756 次
发布时间:2019-06-26

本文共 1458 字,大约阅读时间需要 4 分钟。

join方法

在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况

情况一:在主进程的任务与子进程的任务彼此独立的情况下,主进程的任务先执行完毕后,主进程还需要等待子进程执行完毕,然后统一回收资源。

情况二:如果主进程的任务在执行到某一个阶段时,需要等待子进程执行完毕后才能继续执行,就需要有一种机制能够让主进程检测子进程是否运行完毕,在子进程执行完毕后才继续执行,否则一直在原地阻塞,这就是join方法的作用

from multiprocessing import Processimport timeimport randomimport osdef task():    print('%s is piaoing' %os.getpid())    time.sleep(random.randrange(1,3))    print('%s is piao end' %os.getpid())if __name__ == '__main__':    p=Process(target=task)    p.start()    p.join() #等待p停止,才执行下一行代码    print('主')

Process其它方法的使用

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

#!/usr/bin/env python3# -*- coding:utf-8 -*-from multiprocessing import Processimport timeimport randomdef task(name):    print('%s is piaoing' %name)    time.sleep(random.randrange(1,5))    print('%s is piao end' %name)if __name__ == '__main__':    p1=Process(target=task,args=('egon',))    p1.start()    #    p1.terminate()#关闭进程,不会立即关闭,所以is_alive立刻查看的结果可能还是存活    print(p1.is_alive()) #结果为True    print('主')    time.sleep(3)    print(p1.is_alive()) #结果为False

进程对象的其他属性:name

#!/usr/bin/env python3# -*- coding:utf-8 -*-from multiprocessing import Processimport timeimport randomdef task(name):    print('%s is piaoing' %name)    time.sleep(random.randrange(1,5))    print('%s is piao end' %name)if __name__ == '__main__':    p1=Process(target=task,args=('egon',),name='___task')# name用来指定进程的命字    p1.start()    print(p1.name)

转载于:https://www.cnblogs.com/yjiu1990/p/9263282.html

你可能感兴趣的文章
产品新版本发布前要做那些事呢
查看>>
hdu-1114 Piggy-Bank---完全背包
查看>>
批处理基础
查看>>
Android Disable Package/Component 跳过app安装
查看>>
2.Storm集群部署及单词统计案例
查看>>
javabean,pojo,vo,dto,
查看>>
·转」linux的学习路线
查看>>
寄存器
查看>>
2008年12月在东京出差时给国内的回信
查看>>
android 环境搭建
查看>>
面试:用 Java 逆序打印链表
查看>>
Android内存优化(三)详解内存分析工具MAT
查看>>
SQL Server事务遭遇网络异常时的处理机制浅析
查看>>
Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目
查看>>
SpringMVC上传图片总结(1)---常规方法进行图片上传,使用了MultipartFile、MultipartHttpServletRequest...
查看>>
libcgi库安装
查看>>
小米:开源不仅要站在巨人的肩膀上,还要为巨人指方向
查看>>
百度启动高管退休计划,总裁张亚勤今年十月退休
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->新增“行政区域管理”,同时大批量树采用异步加载...
查看>>
SpringBoot启动时的Banner设置
查看>>