python进程池一个进程卡住_python 进程池 进程挂掉自动启动

import time

from multiprocessing import Pool

import os

count = 1

def f(index):

while True:

print(" i am working {},pid:{}".format(index,os.getpid()))

time.sleep(1)

def main():

pool = Pool(processes=2) # set the processes max number 3

while True:

result = pool.apply_async(f, (1,))

result = pool.apply_async(f, (2,))

result = pool.apply_async(f, (3,))

print("等待3s")

time.sleep(3)

pool.close()

pool.join()

if __name__ == "__main__":

main()

进程池的大小为2,所以一开始启动时只能启动两个进程输出如下:

060e2ab55236

image.png

当手动杀掉进程1后,进程池空出一个位置所以进程3可以输出输出如下:

060e2ab55236

image.png

所以当进程池的大小为1时 则就会在进程挂掉后自动重启

代码如下:

import time

from multiprocessing import Pool

import os

count = 1

def f(index):

while True:

print(" i am working {},pid:{}".format(index,os.getpid()))

time.sleep(1)

def main():

pool = Pool(processes=1) # set the processes max number 3

while True:

result = pool.apply_async(f, (1,))

print("等待3s")

time.sleep(3)

pool.close()

pool.join()

if __name__ == "__main__":

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值