zoukankan      html  css  js  c++  java
  • python asyncio call_soon, call_at, call_later

    1. call_soon, 协程一运行就马上运行

    def callback(sleep_times):
        print("success time {}".format(sleep_times))#call_later, call_at
    if __name__ == "__main__":
        loop = asyncio.get_event_loop()
        loop.call_soon(callback, 4)
        loop.stop() # 要写这个,不然不会停止
        loop.run_forever()

    2. call_later

    import asyncio
    
    def callback(sleep_times):
        print("success time {}".format(sleep_times))
    
    #call_later, call_at
    if __name__ == "__main__":
        loop = asyncio.get_event_loop()
        now = loop.time()
        loop.call_later(2, callback, 2)
        loop.call_later(1, callback, 1)
        loop.call_later(3, callback, 3)
        loop.call_soon(callback, 4) # call_soon 快于call_later
        loop.run_forever()

    3. call_at

    import asyncio
    
    def callback(loop, i):
        print("success time {} {}".format(i, loop.time()))
    
    if __name__ == "__main__":
        loop = asyncio.get_event_loop()
        now = loop.time()
        loop.call_at(now+2, callback, loop, 2) # 指定时间运行, 时间是协程内部的时间
        loop.call_at(now+1, callback, loop, 1)
        loop.call_at(now+3, callback, loop, 3)
        loop.call_soon(callback, loop, 4)
        loop.run_forever()
  • 相关阅读:
    C# 线程间互相通信
    COM组件的使用方法
    C++基于ATL工程编写ActiveX控件步骤
    VC++编写ActiveX控件
    C#协作试取消线程
    Asp.net的内置对象!!!
    C#的三大特性
    类的静态方法。。。。。
    页面的生命周期
    .net面试题 2016
  • 原文地址:https://www.cnblogs.com/callyblog/p/11220492.html
Copyright © 2011-2022 走看看