call_soon, immediate execution
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import asyncio 4 5 6 def callback(sleep_times): 7 print('sleep {} success'.format(sleep_times)) 8 9 10 def stop_loop(loop): 11 loop.stop() 12 13 14 if __name__ == '__main__': 15 loop = asyncio.get_event_loop() 16 # 即刻执行 17 loop.call_soon(callback, 2) 18 loop.call_soon(stop_loop, loop) 19 loop.run_forever()
sleep 2 success Process finished with exit code 0
call_later, after a specified time to run, and specify the order of execution of the relevant time, cal_soon precedence over call_later
. 1 # ! / Usr / bin / Python the env 2 # - * - Coding: UTF-. 8 - * - . 3 Import ASYNCIO . 4 . 5 . 6 DEF the callback (sleep_times): . 7 Print ( ' SLEEP {} Success ' .format (sleep_times)) . 8 . 9 10 DEF stop_loop (Loop): . 11 loop.stop () 12 is 13 is 14 IF the __name__ == ' __main__ ' : 15 Loop = asyncio.get_event_loop () 16 # run after a specified time 17 loop.call_later(1, callback, 1) 18 loop.call_later(2, callback, 2) 19 loop.call_later(3, callback, 3) 20 # loop.call_soon(stop_loop, loop) 21 loop.run_forever()
sleep 1 success sleep 2 success sleep 3 success
call_at, is then executed after a specified time, but this time inside the loop time
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import asyncio 4 5 6 def callback(sleep_times, loop): 7 print('sleep {} success, loop time {} '.format(sleep_times, loop.time())) 8 9 10 def stop_loop(loop): 11 loop.stop() 12 13 14 if __name__ == '__main__': 15 loop = asyncio.get_event_loop() 16 now = loop.time() 17 # 指定时间之后再运行 18 loop.call_at(now+1, callback, 1, loop) 19 loop.call_at(now+2, callback, 2, loop) 20 loop.call_at(now+3, callback, 3, loop) 21 # loop.call_soon(stop_loop, loop) 22 loop.run_forever()
sleep 1 success, loop time 2861146.171 sleep 2 success, loop time 2861147.171 sleep 3 success, loop time 2861148.171