Maison  >  Article  >  développement back-end  >  Explication détaillée des fonctions courantes de rappel de délai en python

Explication détaillée des fonctions courantes de rappel de délai en python

巴扎黑
巴扎黑original
2017-09-09 11:03:391828parcourir

Cet article vous présente principalement les informations pertinentes sur l'implémentation des fonctions courantes de rappel de délai en Python. L'article le présente en détail à travers un exemple de code. Il a une certaine valeur d'apprentissage de référence pour les études ou le travail de tous les amis qui en ont besoin. apprenez avec l’éditeur ci-dessous.

Préface

La fonction de rappel est un problème que nous rencontrons souvent dans la programmation Python, et nous souhaitons exécuter des fonctions à un moment donné dans le futur Le rappel peut être implémenté à l'aide de la fonction call_later() Le premier paramètre est le délai de rappel et le second est le nom de la fonction de rappel

. >


import asyncio 
 
 
def callback(n): 
 print('callback {} invoked'.format(n)) 
 
 
async def main(loop): 
 print('registering callbacks') 
 loop.call_later(0.2, callback, 1) 
 loop.call_later(0.1, callback, 2) 
 loop.call_soon(callback, 3) 
 
 await asyncio.sleep(0.4) 
 
 
event_loop = asyncio.get_event_loop() 
try: 
 print('entering event loop') 
 event_loop.run_until_complete(main(event_loop)) 
finally: 
 print('closing event loop') 
 event_loop.close()
Le résultat est le suivant :



dans Dans cet exemple, lorsque trois fonctions sont appelées en même temps, vous constaterez que l'ordre d'appel est différent.
entering event loop
registering callbacks
callback 3 invoked
callback 2 invoked
callback 1 invoked
closing event loop
est appelé immédiatement après l'inscription.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn