Programmation Concurrente (2016)

Synchronisation émetteur/récepteur

Voir le sujet précédent Voir le sujet suivant Aller en bas

Synchronisation émetteur/récepteur

Message par Benoit Vey le Lun Sep 26, 2016 12:25 am

Bonjour.

Ma remarque porte sur la séquence 27, « Discussion sur les sections critiques » (le lien Youtube ne passe pas dans le message, désolé). À 6:30, il est dit que le résultat est correct tant que la variable plein est modifiée après la variable valeur. C'est bien le cas au niveau du code source de la méthode Emetteur.run mais d'après le modèle mémoire Java (le lien de la documentation ne passe pas non plus, le modèle est décrit à la section 17.4 de la spécification du langage), le compilateur ou l'environnement d'exécution sont autorisés à réordonner les lectures et écritures de variables non volatiles au sein d'un thread. Pour que l'exemple soit correct, il faudrait que plein soit déclaré volatile afin d'introduire une relation happens-before entre la modification de valeur dans Emetteur et la lecture de plein dans Recipiendaire.

Cordialement, Benoit Vey

Benoit Vey

Posts : 1
Join date : 22/09/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Synchronisation émetteur/récepteur

Message par Admin le Lun Sep 26, 2016 9:43 pm

Bonjour,

J'ai pourtant lancé un très grand nombre d'exécutions (tests automatiques) et je n'ai pas rencontré de problème avec l'exécution de mon exemple. cela est sans doute du au fait que mon exemple n'est pas très "violent" puisqu'il n'y a qu'un seul écrivain et un seul lecteur.

Cela dit, votre remarque est intéressante car, en effet, la notion de "volatile" permet d'éviter les soucis de cache entre cœurs via cette fameuse relation "happens-before"...

Merci.

Admin
Admin

Posts : 47
Join date : 24/08/2016

Voir le profil de l'utilisateur http://3i001-2016.forumactif.org

Revenir en haut Aller en bas

Re: Synchronisation émetteur/récepteur

Message par Admin le Lun Sep 26, 2016 9:51 pm

By the way, j'ai fait un patch sur le résumé de la séquence (je ferais un correctif plus tard mais cela pose un problème car les mots clefs "volatile" n'ont pas été introduits et sont véritablement un truc de Java ;-). Il faut que j'y réfléchisse...

Admin
Admin

Posts : 47
Join date : 24/08/2016

Voir le profil de l'utilisateur http://3i001-2016.forumactif.org

Revenir en haut Aller en bas

Re: Synchronisation émetteur/récepteur

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum