赞
踩
使用multiprocesss模块遇到各种各样的问题,这次遇到的问题是调用进程池对象的 apply_async()
方法,往进程池传递一个实例方法(该实例方法里有一段代码是往同步队列里放入数据),然后发现往进程池扔的任务(即实例方法)不会被执行,回调方法也不执行。心塞~
以下是出现问题的代码
import ctypes
import datetime
import random
import time
from multiprocessing import Queue
from multiprocessing.pool import Pool
from multiprocessing import Value
class entry(object):
def __init__(self, s: str, queue: Queue):
self.s = s
self.queue = queue
# self.counter = c_uint
def cutString(self):
index = random.randint(0, len(self.s) - 4)
time.sleep(1)
i = random.randint(0, 2)
print("randint(0, 2) = {}".format(i))
return self.s[index:index + 2]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。