没有合适的资源?快使用搜索试试~ 我知道了~
Python中的自定义进程和进程池
2 下载量 180 浏览量
2020-12-20
18:23:10
上传
评论
收藏 101KB PDF 举报
温馨提示
试读
5页
Python中的自定义进程和进程池 文章目录Python中的自定义进程和进程池一、自定义进程1.步骤:2.例进程池1.概念2.介绍——multiprocess.Pool3.非阻塞式进程池4.阻塞式进程池5.例 一、自定义进程 1.步骤: 继承python的进程类Process 重写__init__方法添加自己的属性,使用super()加载父类属性 重写run()方法(基类的接口方法,里面什么都没做,就是让子类去重写的) 首先我们按照常规导入multiprocessing模块,同样我们使用 from multiprocessing import Process 语句来导入Process类。
资源详情
资源评论
资源推荐
Python中的自定义进程和进程池中的自定义进程和进程池
Python中的自定义进程和进程池中的自定义进程和进程池
文章目录文章目录Python中的自定义进程和进程池一、自定义进程1.步骤:2.例进程池1.概念2.介绍——multiprocess.Pool3.非阻塞式
进程池4.阻塞式进程池5.例
一、自定义进程一、自定义进程
1.步骤:步骤:
继承继承python的进程类的进程类Process
重写重写__init__方法添加自己的属性,使用方法添加自己的属性,使用super()加载父类属性加载父类属性
重写重写run()方法(基类的接口方法,里面什么都没做,就是让子类去重写的)方法(基类的接口方法,里面什么都没做,就是让子类去重写的)
首先我们按照常规导入首先我们按照常规导入multiprocessing模块,同样我们使用模块,同样我们使用 from multiprocessing import Process 语句来导入语句来导入Process
类。类。Python的多进程运行的多进程运行 要自定义进程,就要重写要自定义进程,就要重写run()方法方法。。
如果我们我们要自定义一个进程,那么我们就需要在创建我们自己的类时继承父类的如果我们我们要自定义一个进程,那么我们就需要在创建我们自己的类时继承父类的Process方法方法:
class MyProcess(Process):
def run(self):
pass
这样我们便完成了进程自定义的结构,这样我们便完成了进程自定义的结构,Process父类的东西都可以在我们的自定义进程内使用。父类的东西都可以在我们的自定义进程内使用。
2.例例
假设我们创建两个进程,循环打印所传入的参数并计数,每执行一次进程加一,我们所需要实现的代码如下:
class MyProcess(Process):
def run(self):
n = 1
while True:
print('进程名:{} n的值:{}'.format(self.name, n))
n += 1
每当我们使用每当我们使用start()方法时,系统都会先进入方法时,系统都会先进入Process类中找类中找run()方法,通过方法,通过run()方法来启动进程。我们再来添加一个主函方法来启动进程。我们再来添加一个主函
数,创建两个进程对象,并将他们添加到进程中:数,创建两个进程对象,并将他们添加到进程中:
if __name__ == '__main__':
p1 = MyProcess(name='李诺')
p2 = MyProcess(name='夜寒')
p1.start()
p2.start()
这是我们运行程序,变发现程序按照我们的需求进行。完整代码:
# 进程:自定义
from multiprocessing import Process
class MyProcess(Process):
# 重写run()方法
def run(self):
n = 1
while True:
print('进程名:{} n的值:{}'.format(self.name, n))
n += 1
if __name__ == '__main__':
p1 = MyProcess(name='李诺')
p2 = MyProcess(name='夜寒')
p1.start()
p2.start()
from multiprocessing import Process
#自定义类
class MyProcess(Process):
def __init__(self,value):
self.value = value
#自己写__init__(self)会将父类的__init__覆盖,为了不丢失父类的一些属性,需要用super()加载
super().__init__()
weixin_38622849
- 粉丝: 3
- 资源: 958
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0