Python 多处理队列和工作进程在关闭池之前返回
我想创建一些worker,并根据套接字接收到的数据为它们分配工作。同时,我希望在工人完成工作时返回工人结果,不要等到所有工人都结束 是否可以在关闭池之前返回 main.py 提取器Python 多处理队列和工作进程在关闭池之前返回,python,queue,multiprocessing,communication,Python,Queue,Multiprocessing,Communication,我想创建一些worker,并根据套接字接收到的数据为它们分配工作。同时,我希望在工人完成工作时返回工人结果,不要等到所有工人都结束 是否可以在关闭池之前返回 main.py 提取器 您的回调函数将在worker处理完它之后,在池关闭之前立即返回结果 所以要得到结果,你只需投票,看看有没有新的结果 只需确保在不等待的线程中执行,在本例中,这将是您的主线程 last_results_len = 0 while True: # or whatever you choose to.. resul
您的回调函数将在worker处理完它之后,在池关闭之前立即返回结果 所以要得到结果,你只需投票,看看有没有新的结果 只需确保在不等待的线程中执行,在本例中,这将是您的主线程
last_results_len = 0
while True: # or whatever you choose to..
results_len = len(__result)
if results_len != last_results_len:
last_results_len += 1 # add one so you get them all in case they come in quick
print(__result[results_len - 1]) # whatever you want to do here
time.sleep(1)
我忽略了这一点。谢谢你的帮助!
class Extractor(object):
"""Simulate extractor"""
def __init__(self):
pass
def BarcodeSearcher(self,x):
ti = time.time()
tf = random.randint(1,4)
while time.time() - ti < tf:
random.uniform(1., 2.)
return tf
last_results_len = 0
while True: # or whatever you choose to..
results_len = len(__result)
if results_len != last_results_len:
last_results_len += 1 # add one so you get them all in case they come in quick
print(__result[results_len - 1]) # whatever you want to do here
time.sleep(1)