Python如何中断当前方法来执行另一个方法[close]

2024-09-30 08:34:05 发布

您现在位置:Python中文网/ 问答频道 /正文

在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不执行,该方法循环无限


Tags: 数据方法logtaskdata参数getif
1条回答
网友
1楼 · 发布于 2024-09-30 08:34:05

您可以使用queue.Queue在线程之间发送消息,特别是put()方法发送消息,get()方法等待另一个线程中的消息。有了这个,你可以让线程在锁步中工作

我不知道你想做什么,但为了简单起见,也许你可以在一个线程中完成所有的工作

相关问题 更多 >

    热门问题