Python中如何让函数在前一个函数执行完成后再运行
Python 函数按顺序串行执行实现方案
情况1:三个函数均为普通同步函数
你给出的示例代码本身就已经满足执行要求了。Python 默认执行同步代码时会按行依次执行,只有上一行函数调用执行完全结束后,才会运行下一行代码:
from functions import vc_s1, vc_s2, vc_s3 # 同步代码默认按顺序执行,自动等待上一个函数运行完成 vc_s1() vc_s2() vc_s3()
注意:你示例代码里的funtions是拼写错误,正确应为functions
情况2:三个函数为异步(async)函数
如果你的函数是用async关键字定义的异步函数,需要通过await显式等待上一个异步任务执行完成,同时要用异步入口函数启动:
import asyncio from functions import vc_s1, vc_s2, vc_s3 async def main(): await vc_s1() await vc_s2() await vc_s3() if __name__ == "__main__": asyncio.run(main())
情况3:三个函数需要在独立线程中运行
如果业务要求三个函数分别运行在不同线程,同时还要保证执行顺序,可以调用线程对象的join()方法等待对应线程执行结束后再启动下一个:
import threading from functions import vc_s1, vc_s2, vc_s3 # 启动vc_s1所在线程并等待执行完成 t1 = threading.Thread(target=vc_s1) t1.start() t1.join() # 启动vc_s2所在线程并等待执行完成 t2 = threading.Thread(target=vc_s2) t2.start() t2.join() # 最后启动vc_s3 vc_s3()
内容的提问来源于stack exchange,提问作者Adamos The Ginamos
相关产品推荐
相关产品推荐

