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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|