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()
