多进程模块multiprocessing
来源:互联网 发布:matlab2016b mac 编辑:程序博客网 时间:2024/06/05 19:51
multiprocessing模块就是跨平台版本的多进程模块,提供了⼀个Process类来代表一个进程对象
创建⼦进程时,只需要传⼊⼀个执⾏函数和函数的参数,创建⼀个
Process实例,⽤start()方法启动,join()⽅法可以等待子进程结束后再继续运行
Process语法结构如下:
Process([group [, target [, name [, args [, kwargs]]]]])
target:表示这个进程实例所调用对象;
args:表示调用对象的位置参数元组;
kwargs:表示调用对象的关键字参数字典;
name:为当前进程实例的别名;
group:⼤多数情况下⽤不到;
Process类常⽤⽅法:
is_alive():判断进程实例是否还在执⾏;
join([timeout]):是否等待进程实例执行结束,或等待多少秒;
start():启动进程实例(创建子进程);
run():如果没有给定target参数,对这个对象调⽤start()方法时,就讲执行对象中的run()⽅法;
terminate():不管任务是否完成,立即终止;
Process类常⽤属性:
name:当前进程实例别名,默认为Process-N,N为从1开始递增的整数;
pid:当前进程实例的PID值;
from multiprocessing import Process(P必须大写
import os
import time
defsub_process_fun(num, a):
"""子进程执行的代码"""
print("子进程:pid=%d" % os.getpid())
print("子进程:num=%d" % num)
print("子进程:a=%d" % a)
for i in range(10):
print("子进程:hello")
time.sleep(0.1)
def main():
print("父进程:pid=%d" % os.getpid())
p = Process(target=sub_process_fun,args=(100,), kwargs={"a": 200})
# 创建一个子进程对象
p.start() #真正的创建出子进程,子进程可以开始执行代码
print("父进程:hi")
print("父进程:子进程的名字 %s" % p.name)
print("父进程:子进程的pid %d" % p.pid)
print("父进程:子进程的状态 %s" % p.is_alive())
time.sleep(0.1)
p.terminate() #终止子进程的执行 存在延迟
print("父进程:已经终止了子进程")
print("父进程:子进程的状态 %s" % p.is_alive())
p.join() #回收子进程资源 阻塞
print("父进程:已经回收了子进程")
print("父进程:子进程的状态 %s" % p.is_alive())
print("父进程:结束")
if __name__ =='__main__':
main()
- 多进程模块multiprocessing
- python 多进程模块 multiprocessing
- 关于python中的多进程模块multiprocessing
- python3 学习笔记 多进程 multiprocessing 模块
- Python多进程应用的subprocess模块、multiprocessing模块
- Python的multiprocessing模块多进程用法和管理
- 利用multiprocessing多进程模块进行影像校正
- 爬虫知识一:使用multiprocessing模块创建多进程
- Python多进程multiprocessing
- Python 多进程(multiprocessing)
- python 多进程 multiprocessing
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- Python多进程并发(multiprocessing)
- HDU-6107 Typesetting(倍增法)
- STL总结(不定期更新...)
- 欢迎使用CSDN-markdown编辑器
- 动态代理模式分析
- 创建Zigbee Z-Stack 3.0.1 BSP(一)--概述
- 多进程模块multiprocessing
- storm 架构与原理
- 《ECMAScript 6入门》笔记4
- ffmpeg的编译选项浅析
- Ubuntu 安装 Anaconda3 详细步骤
- 进程的创建-Process⼦类
- 快速排序的C语言实现
- 异类:不一样的成功启示录(一)
- JAVA 数据库基础及不同数据库连接代码工具