在python中,我有两个方法。在方法A中,我接收参数并将它们放入参数数组中。在程序B中,我对参数数组的数据进行处理,并将处理结果放入一个日志数组中。在方法A的final中,我想得到while循环读取日志数据的数据,并得到当前传入A的参数的处理。因此,我想问一下,当a执行了一半时,如何暂停以启动方法B,否则a将执行无休止的循环
添加sleep方法需要A中断,B执行,但没有效果
def A()
try:
datas=request.get_data()
data=json.loads(datas)
global queque_list,log_list
queque_list.append("data":data)
finally:
while 1:
sleep(3)
if len(log_list)>0
for logdata in log_list:
if logdata.get('uuid')==uuid:
return logdata.get('msg')
def B(task):
try:
do(task)
finally:
log_list.append({"uuid":uuid,"msg":msg})
def C():
while True:
if len(queque_list)>0:
task=queque_list.pop(0)
B(task)
t=threading.Thread(target=C)
t.start()
我希望方法A在执行最终模块时能够中断,并在执行之前等待方法B完成执行。但现在方法A执行最后一个模块,方法B不执行,该方法循环无限
您可以使用queue.Queue在线程之间发送消息,特别是put()方法发送消息,get()方法等待另一个线程中的消息。有了这个,你可以让线程在锁步中工作
我不知道你想做什么,但为了简单起见,也许你可以在一个线程中完成所有的工作
相关问题 更多 >
编程相关推荐