Accueil > Forum > > > > synchronisation des threads
synchronisation des threads
samedi 24 mars 2007 à 11:08:23 |
synchronisation des threads

viphadia
|
j'ai un problème de synchroniser trois threads(un serveur et 3 clients) chaque thread* appelle un autre thread**
alors 6 threads ;
*:emission des données(serveur).
**:reception des donnes(03 clients).
??????????
|
|
samedi 24 mars 2007 à 11:48:44 |
Re : synchronisation des threads

Ombitious_Developper
|
Salut:
Penses à utiliser un groupe de threads.
classe: ThreadGroup
Ou bien tu peux jouer sur le méthodes de la classe Thread pour arrêter un thread momenténemment puis de l'envoyer une notification pour s'activer, bien sûr ça devrait se faire suivant le schéma que tu traces (sorte de diagramme de synchronisation).
Attention au deadlock.
________________________________________________________________________________ A.B. : "Dieu nous donne des mains, mais il ne bâtit pas les ponts
|
|
mardi 27 mars 2007 à 10:07:04 |
Re : synchronisation des threads

viphadia
|
merci mais c'est pas le cas!!! l'appel de ces trois threads se fait dans une boucle while comme suit: calcule(){ while(condition) { thread1; thread2; thread3;
} } et ça le probleme tout ce boucle d'une manière infinie ????(l'execution des trois thread est incomplète donc la condition nechange pas); j'ai utulisé join() pour que l'execution des trois threads se termine puis il teste la condition à nouveau mais ça marche pas dans la 2 ieme iteration????
|
|
vendredi 30 mars 2007 à 23:12:42 |
Re : synchronisation des threads

Ombitious_Developper
|
Salut:
Comme tu l'avais décrit (un thread émetteur / un thread récepteur), c'est un peu comme la relation producteur/consommateur, je te conseille d'utiliser les sémaphores pour définir le plan d'exécution de tes threads concurrents.
Une petite connaissance des sémaphores va te permettre de régler ton problème. Les sémaphores sont comme leurs nom l'indique des barrières qui: - bloquent le passage - ou autorisent le passage devant un thread demandant un service ou l'entrée à une section critique.
De cette manière tu es sûr que tu bloques certains threads et d'autoriser le thread voulu, un fois ce dernier termine sa tâche il peut autoriser les autres à entrer à la section critique qui est comme tu l'as décrit la modification du boucle.
classe: java.util.concurrent.Semaphore
________________________________________________________________________________ A.B. : "Dieu nous donne des mains, mais il ne bâtit pas les ponts
|
|
vendredi 30 mars 2007 à 23:16:17 |
Re : synchronisation des threads

Ombitious_Developper
|
Salut:
Une autre solution:
Thread1:
thread2.wait (); thread3.wait (); //code thread 1 thread3.notify (); thread2.notify ();
Thread2:
thread1.wait ();
thread3.wait (); // code thread 2: thread3.notify ();
thread1.notify ();
Thread3:
thread1.wait ();
thread2.wait (); // code thread 3 thread2.notify ();
thread1.notify ();
________________________________________________________________________________ A.B. : "Dieu nous donne des mains, mais il ne bâtit pas les ponts
|
|
samedi 31 mars 2007 à 00:01:03 |
Re : synchronisation des threads

viphadia
|
 ok mais t'as aucune idée pour appler des threads dans une boucle?il me parait pas simple!!!!
|
|
samedi 31 mars 2007 à 01:47:35 |
Re : synchronisation des threads

Ombitious_Developper
|
Salut:
Thread th = new Thread ():
// Appel: début d'exécution th.start ();
________________________________________________________________________________ A.B. : "Dieu nous donne des mains, mais il ne bâtit pas les ponts
|
|
samedi 31 mars 2007 à 02:02:13 |
Re : synchronisation des threads

Ombitious_Developper
|
Salut:
Il y a une chose que je ne comprends pas. Pourquoi faire tous ces threads, on dirait que tu es en train d'écrire un programme client/serveur ordinaire.
Si oui, je pense qu'on peut résoudre le problème sans faire recoure à tout ce nombre de threads.
________________________________________________________________________________ A.B. : "Dieu nous donne des mains, mais il ne bâtit pas les ponts
|
|
samedi 31 mars 2007 à 11:29:41 |
Re : synchronisation des threads

Ombitious_Developper
|
Salut:
Pourquoi Thread.suspend et Thread.resume sont [deprecated]?
La méthode Thread.suspend provoque toujours un interblocage. Si le thread cible détient un vérrou sur une ressource critique du système et quand ce dernier est suspendu, alors aucun thread ne peut accèder à cette ressource jusqu'à ce que le thread concerné est activé. Si ce thread essaye de vérouiller l'accès à cette resssource avant de s'activer [resume] alors un interblocage en resulte. On appelle ces les thread de cette situation [frozen processes].
C'est la traduction de ce que j'ai trouvé dans la documentation.
________________________________________________________________________________ A.B. : "Dieu nous donne des mains, mais il ne bâtit pas les ponts
|
|
samedi 31 mars 2007 à 12:29:46 |
Re : synchronisation des threads

viphadia
|
salut c'est mon projet de fin d'études je suis en 5 ieme année informatique option intelligence artificielle mon thème est " la tolérance aux pannes " l'architecture (client-serveur) 3clients et un seul serveur mais je developpe une application sur data mining le serveur décompose la bdd et envoie à chaque client une partie ,les clients effectuent des calculs et émissent les résultats au serveur et ce dernier fait des comparaison et des calculs et les renvoie aux clients et vice versa jusqu'à l'établissemet de toute règle associative possible; dans le code de serveur j'ai 3 threads de reception et 3 d'émission chaque thread d'émission appel un threads de réception qui le convient et l'appel des threads d'emission dans main sera dans une boucle while et c'est ça mon problème??????? que je peux faire alors  
|
|
Cette discussion est classée dans : serveur, thread, synchronisation, threads, clients
Répondre à ce message
Sujets en rapport avec ce message
arreter une serie de thread [ par cuicui ]
Bonjour a tous,J'ai creer une serveur attendant des connexions des clients grace à l'objet serverSocket.A chaque nouvelle connexion je lance un thread
serveur multiconnexion clients (threads) [ par xav7822 ]
bonjour j'ai cré un serveur qui peut gérer plusieurs connexion grace a des threads mais je n'arrive pas faire communiqué les clients entre eux en pass
Groupe de thread [ par pingstar ]
Bonjour,j'ai fiat une appli client/serveur. Mon serveur est multiclient, il lance donc un thread pour chaque demande de connexion. Ce que je voudrais
thread & reseau [ par viphadia ]
salut à tout le monde je suis entrain de tester un code serveur et 03 clients normalement mon code fonctionne comme suit :le serveur compose la base
thread/client/serveur [ par siwaro ]
bonjourje veux réaliser une application serveur entre plusieurs appareils le serveur joue le role d'un switch ou d'un hub entre les différents clients
synchronisation threads [ par mersai ]
bonjour; j'ai 4 threads avec identificateur 1,2,3 et 4, qui sont bloqués sur un objet en utilisant obj.wait(). comment faire pour réveillé un thread
Développement d'une application de messagerie instantanée et de partage de fichiers [ par nino25 ]
bonjour;j'ai un projet et je voudrais que vous m'aidiez sur l'implimentation svp.ce projet entre dans le cadre du développement d'application client/s
client serveur avec des threads [ par sparetime ]
bonjourje veux réaliser une application serveur entre plusieurs appareils chaque appareil est à la fois client pour émettre des requêtes et serveur po
progressbar [ par crashed ]
bonjour, j'utilise des threads dans jbuilder et j'aimerai mettre une progressbar afin de suivre le traitement des threads c'est a dire qu'elle se char
synchronisation entre threads en java [ par mersai ]
je viens de commencé avec les threads en java. et mon problème est comment synchroniser deux threads qui s'attendent mutuellement sur la réception d'u
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|