Programmation Concurrente (2016)

Question de synchronisation (sequence "Exemple, ExempleCollectionV2

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

Question de synchronisation (sequence "Exemple, ExempleCollectionV2

Message par ren12 le Ven Oct 14, 2016 11:16 am

Bonjour,

J'ai une question concernant le main() de cette séquence vidéo. Les thread sont démarré dans la boucle for, puis la fonction affichant les threads bloqués est appelée. Seulement, il me semble que le main termine son exécution avant que les Threads ne s'exécutent. Ce qui signifie que l'instruction bloqueur.LesBloquer() ne devrait rien renvoyer vu qu'aucune Thread n'a pas exécuter le run() non ? Il y a certes un "Thread.sleep()" qui sépare la création des Thread de l'affichage des bloqués, mais le sleep permettrait aux Thread de s'exécuter même si le main n'a pas terminé toutes ses instructions ?

Merci


ren12

Posts : 7
Join date : 11/10/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Question de synchronisation (sequence "Exemple, ExempleCollectionV2

Message par Admin le Sam Oct 15, 2016 7:17 pm

Les exécutions que je vous montre ont été réellement observées sur ma machine (facile puisque tout a été programmé). Si vous regardez attentivement, les threads ont démarré au moment de la commande start()... avant que le sleep(1000) n'ai été exécuté. Les autres threads peuvent donc bien se bloquer pendant cette attente qui ne concerne que le "thread principale".

Admin
Admin

Posts : 18
Join date : 24/08/2016

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

Revenir en haut Aller en bas

Re: Question de synchronisation (sequence "Exemple, ExempleCollectionV2

Message par Admin le Sam Oct 15, 2016 7:28 pm

Oups, je réalise que je n'ai pas répondu concernant votre solution. Pour être franc je la trove un peu moche ;-). cela dit, comme les servants n'accèdent qu'à un seul client, cela fonctionne.

On verra quelque chose de plus propre avec un autre type de synchronisation sur une attente de résultat plus loin dans le cors.

Admin
Admin

Posts : 18
Join date : 24/08/2016

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

Revenir en haut Aller en bas

Re: Question de synchronisation (sequence "Exemple, ExempleCollectionV2

Message par pc15 le Sam Oct 15, 2016 8:55 pm

A très bien, j'avais cru comprendre dans les premières vidéos que même si le main() réalise un start sur un Thread, les Thread ne pouvait exécuter leur méthode run qu'une fois que le main() avait terminé sa dernière instruction. Merci

pc15

Posts : 3
Join date : 02/10/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Question de synchronisation (sequence "Exemple, ExempleCollectionV2

Message par Admin le Sam Oct 15, 2016 9:14 pm

Je suis surpris car je n'ai rien dit de tel... C'est juste une possibilité d'exécution comme une autre mais plutôt atypique.

Admin
Admin

Posts : 18
Join date : 24/08/2016

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

Revenir en haut Aller en bas

Re: Question de synchronisation (sequence "Exemple, ExempleCollectionV2

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