Maison  >  Article  >  développement back-end  >  Quel est le processus de planification des coroutines Python ?

Quel est le processus de planification des coroutines Python ?

WBOY
WBOYavant
2023-05-12 11:40:171511parcourir

1. L'appel asyncRun peut placer la coroutine dans la file d'attente des événements. La boucle est l'entrée de la boucle d'événements (également appelée planificateur). L'appel de boucle confiera le contrôle du thread au planificateur de coroutine.

2. Le planificateur extraira en continu les coroutines ou les fonctions ordinaires de la file d'attente des événements à l'avenir, puis les exécutera et les planifiera.

Pendant le processus de planification et d'exécution, ces événements peuvent générer davantage d'événements, ils continueront donc à s'exécuter.

Exemple

from queue import Queue
 
 
class __EventQueue:
    def __init__(self) -> None:
        self.__eventQueue = Queue()
 
    def pushCallback(self, fn):
        self.__eventQueue.put(fn, block=True)
 
    def getCallback(self):
        return self.__eventQueue.get(block=True)
 
eventQueue = __EventQueue()

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer