import asyncio
def callback(sleep_times, loop):
print("success time {}".format(loop.time()))
def stoploop(loop):
loop.stop()
#call_later, call_at
if __name__ == "__main__":
loop = asyncio.get_event_loop()
now = loop.time()
loop.call_later(5.5, callback, 5.5, loop) #第一个参数设置的时间5.5秒后执行,
loop.call_at(now+2, callback, 2, loop) #在指定的时间,运行,当前时间+2秒
loop.call_at(now+1, callback, 1, loop)
loop.call_at(now+3, callback, 3, loop)
#loop.call_soon_threadsafe(callback, 3, loop) # 功能与call_soon类似,但这是线程安全的方法,变量在其他线程也会用到,这个时候就可以用这个方法
# loop.call_soon(stoploop, loop) # call_soon 立刻执行,并不是说到这行代码就马上执行。而是在队列里面,等到下一个循环时,立马执行
loop.call_soon(callback, 4, loop)
loop.run_forever() #要用这个run_forever运行,因为没有传入协程
[python]asyncio call_soon\call_at\call_latter\call_soon_threadsafe
最新推荐文章于 2021-03-02 10:01:02 发布