Questions diverses

dohm Messages postés 975 Date d'inscription   Statut Modérateur Dernière intervention   -  
angej Messages postés 2555 Statut Contributeur -
Slut à tous !

Sauriez vous ce qu'est :
- Une coroutine

Dohm qui vous bouleg tous

3 réponses

ipl Messages postés 5738 Statut Contributeur sécurité 585
 
Bonsoir dohm, bonsoir à tous,

Moi, je dirais qu'il s'agit d'une routine qui fonctionne conjointement avec une autre !

@12C4
Ipl
0
M&M Messages postés 5058 Statut Contributeur 667
 
Une courtisane ?
 :,§_ ç _
(@)=(@)
0
angej Messages postés 2555 Statut Contributeur 301
 
salut ,

LA coroutine en permet à l 'évaluation d'une expression d' être suspendue, pour être reprise plus tard. Une coroutine sera un couple formé d'une fonction et d'une liste d'arguments `a laquelle elle doit ^être appliquée. Ce couple sera mis dans la liste des expressions en attente.
Exemple :
Considérons deux procédures P et Q. P déclenche l'exécution de Q.
On peut décomposer le mécanisme de leurs échanges de la façon suivante :
-préparation par P de la liste {lp} des paramètres à transmettre à Q.
-Sauvegarde du contexte de P qui devra être retrouvé, après la fin de l'exécution de Q pour pouvoir continuer l'exécution de P. Ce contexte est constitué de l'ensemble des informations nécessaires à la description de l'activité de P dans l'état où elle était au moment où on l'a interrompue pour pouvoir exécuter Q. Il comprend les informations sur l'état de la mémoire : adresse des segments code et données, valeur du compteur ordinal qui pointe sur l'instruction en cours d'exécution...
-remplacement du contexte de P par celui de Q.
-exécution de Q
Au retour, lorsque Q est terminés, le mécanisme est presque symétrique : cependant le contexte de Q n'est pas sauvegardé puisque Q a terminé son existence :
-préparation par Q de la liste {lq} des paramètres transmis par Q à P.
-restauration du contexte de P
-exécution de la suite des instructions de P.
On notera que les données internes à Q sont perdues. Cela signifie que si Q est appelé une seconde fois des segments neufs de code et de données seront chargées. Toutes les données internes à cette procédure seront réinitialisées. Il n'en est pas de même pour P dont les segments continuent à évoluer à chaque déchargement chargement et gardent mémoire des actions antérieures. On dit que les données de Q sont de type automatique
On peut imaginer un mode de fonctionnement plus symétrique où le contexte de Q est sauvegardé à chaque retour vers P. On parle alors de fonctionnement en coroutines. Dans ce cas il est indispensable de préserver les données de Q en fin d'exécution de la procédure. Leurs valeurs peuvent être préservées. Il s'agit de données de type statique.

ange
(-:O

PS: me remercie pas c'est pas de moi ;-)))))))
0