Programmation Concurrente (2016)

Moniteur et thread actif

Aller en bas

Moniteur et thread actif

Message par user07 le Mar Oct 10, 2017 11:47 am

Bonjour ,
par un seul moniteur actif à la fois dans un moniteur vous voulez dire un seul actif sur une file d'attente define par une condition donée ou pour tout les conditions on aura un seul actif à la fois?
si je ne me trompe pas j'ai compris qu'un moniteur peut avoir plusieurs conditions et chaque condition presente un file d'attente dont on peut avoir un thread actif non?

user07

Posts : 20
Join date : 27/09/2017

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Moniteur et thread actif

Message par Admin le Mar Oct 10, 2017 7:35 pm

Par "un seul actif à la fois", je veux dire que vous pouvez avoir plusieurs threads qui sont "dans" le code du moniteur mais que pour N threads "dans le code" seule une seule peut être active, les autres étant toutes suspendues sur une condition par exemple.

Est-ce plus clair?

Admin
Admin

Posts : 50
Join date : 24/08/2016

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

Revenir en haut Aller en bas

Re: Moniteur et thread actif

Message par user07 le Mer Oct 11, 2017 3:19 pm

oui donc si on deux conditions on peut avoir deux threads actifs à la fois?

user07

Posts : 20
Join date : 27/09/2017

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Moniteur et thread actif

Message par Admin le Mer Oct 11, 2017 7:23 pm

Absolument pas. C'est une thread active par moniteur... donc toujours une et une seule quelque soit le nombre de conditions. Si on a plusieurs conditions, c'est que l'on a plusieurs raisons de se bloquer.

Admin
Admin

Posts : 50
Join date : 24/08/2016

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

Revenir en haut Aller en bas

Re: Moniteur et thread actif

Message par user07 le Mer Oct 11, 2017 10:44 pm

mais ce que j'ai compris que c'est deux threads n'ont pas la meme condition (pas la meme raison de blocage) ils peuvent s'excuter les deux a la fois non?

user07

Posts : 20
Join date : 27/09/2017

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Moniteur et thread actif

Message par Admin le Jeu Oct 12, 2017 8:09 am

Si cela arrive, les variables protégées par le moniteur ne sont plus protégées car rien n'empêche l'une des threads de modifier une variable dans le dos de l'autre. Donc c'est absolument à éviter.

La condition, c'est la raison du blocage, cela permet de ne pas mettre toutes les threads bloquées dans la même file et de les reprendre à mauvais escient. Regardez l'exemple. Regardez bien l'exemple du sas où chaque condition correspond à une porte. Il ne faut réveiller les threads de l'entrée que lorsque celles qui étaient bloquées en sortie seront toutes réveillées. Et si on a deux threads actives au même moment, on a des risques sur les compteurs partagés.

Admin
Admin

Posts : 50
Join date : 24/08/2016

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

Revenir en haut Aller en bas

Re: Moniteur et thread actif

Message par user07 le Mar Oct 17, 2017 4:04 pm

merci beaucoup

user07

Posts : 20
Join date : 27/09/2017

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Moniteur et thread actif

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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