-
Notifications
You must be signed in to change notification settings - Fork 0
Le robot impatient
Depuis le début, je vous parle de parallélisme et jusqu'à présent vous vous demandez : Et le parallélisme alors ?
Et bien c'est le moment de le découvrir !
Dans le tuto précédent, l'utilisateur avait tout son temps pour renseigner son nom.
Maintenant nous allons voir comme programmer un robot impatient qui n'attend qu'un temps limité pour la réponse avant d'agir.
Le robot pose sa question :
displayNewMessage('Comment tu t'appelle ?')
puis il attend 5 secondes et s'en va.
Pendant ces 5 secondes, l'utilisateur peut répondre... ou pas...
Au même instant, deux choix s'offrent à lui :
- Répondre à l'utilisateur qui a répondu dans les temps
- Partir au bout du temps imparti.
Donc en parallèle Lire la réponse répondre et attendre la réponse partir
Dans le langage FunSug, cela se traduit par :
parallel exitAfter 1 finished ||
var theName := awaitHumanText()
displayNewMessage('Hello, ' + theName + '!')
||
waitSeconds(5)
displayNewMessage('Oops, I have an emergency! Bye!')
En lisant le code ci dessus, on peut comprendre que c'est soit l'un soit l'autre et que ||
signifie or
et provoquer une confusion dans notre esprit.
Deux chemins s'offrent à nous et on ne peut pas les prendre en parallèle alors qu'on s'attend, dans le parallélisme à programmer deux branches parallèles, deux actions qui se passent en même temps.
parallel ||
block1
||
block2
Par exemple :
pendant que la pluie tombe
||
L'orage gronde
Wiki FuncSug