Probème de synchronisation

24buzz Messages postés 6 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 24 novembre 2005 - 29 avril 2005 à 11:44
 souma0590 - 2 avril 2013 à 13:09
Bon(jour/soir),

Je voudrais synchroniser deux threads en eux sur un modèle producteur consommateur.

Existe-il des outils tout prêt en .Net, si oui lesquels? (Pipe..)

Sinon comment puis-je faire?



Merci d'avance à bientot!

6 réponses

LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
29 avril 2005 à 12:32
Salut 24buzz,
Il existe en effet plusieurs moyens de synchronisation en C#, mais pour synchroniser deux Threads, il vaut mieux utiliser un MUTEX

Donc, tu crée ton mutex :
System.Threading.Mutex mtx =
new System.Threading.Mutex();

Puis dans le premier thread, tu attend d'avoir la main :
mtx.WaitOne();

Après avoir fait ton traitement tu rend la main :
mtx.ReleaseMutex();

Et tu fait de même dans le second Thread !!

Voili - voilou !!
0
24buzz Messages postés 6 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 24 novembre 2005
30 avril 2005 à 11:58
Salut LUDINSI,

Merci de ton aide!

Par contre, le mutex doit être partagé par les deux Threads!

Mais c'est solution efficace



Encore merci LUDINSI
0
24buzz Messages postés 6 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 24 novembre 2005
30 avril 2005 à 12:01
Bon(jour/soir),

Et maintenant plus compliqué!!!...



Comment faire un producteur/consommateur avec Stock?




Existe-il des outils tout prêt en .Net, si oui lesquels? (Pipe..)

Sinon comment puis-je faire?


Merci beaucoup!!
0
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
30 avril 2005 à 21:19
Ravi d'avoir pu t'aider.
Par contre, qu'es-tu entends par "producteur/consommateur"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
24buzz Messages postés 6 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 24 novembre 2005
1 mai 2005 à 12:36
Un producteur/consommateur:

Le producteur produit des données, et le consommateur utilise les
données. Généralement on effectue cette synchronisation avec des
Semaphore de Dijkstra.

Exemple:

J'ai un thread qui recoi des trames par le réseau et qui les stockent dans une Queue.

Un autre qui effectue un traitement sur c'est trame. Mais le
consommateur ne doit travailler que lorsqu'il y a des trames dans la
Queue.

Je vais faire un classe Semaphore, cela devrai fonctionner!

Une fois terminé je metterai le code source.
0
Implémenter un modèle producteur­ consommateur à P producteurs (P ≥ 2) et C
consommateurs (C ≥ 2) et un buffer de taille N ≥ 2 géré de manière circulaire.
L'ensemble des paramètres du modèle (le nombre de producteurs P, le nombre de
consommateurs C et la taille du buffer N) est contenu dans un fichier texte qui est 3/4 passé en paramètre au programme. Pour lire et exploiter le contenu de ce fichier, on
utilisera la classe java.util.Properties (voir la méthode load()).



svp aide moi
..... Merci
0
Rejoignez-nous