Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2794 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[JAVA]Probleme de Thread

n°659735
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 29-02-2004 à 22:38:40  profilanswer
 

Reprise du message précédent :
voici comment je ferai mais ça n'est peut-être pas une référence:
 
créer un objet de type PisteurDeVoiture ayant pour attribut un tableau de taille NxM d'objets voiture. Pour les coordonnées (x,y), on appelle une méthode getVoiture(int x, int y) qui appelle retourne le Thread de la voiture ou null. Chacun de tes threads va donc évoluer indépendemment des autres et remettre à jour cet objet PisteurDeVoiture qui devra être un singleton. Les threads devront être synchronisés pour ne pas avoir de collison dans la mise à jour de ton tableau... Aussi prévoir une méthode setVoiture(Voiture voiture, int x, int y)...
 
Bref, tu vois le topo..


Message édité par machinbidule1974 le 29-02-2004 à 22:39:15
mood
Publicité
Posté le 29-02-2004 à 22:38:40  profilanswer
 

n°659739
Loizo
Posté le 29-02-2004 à 22:49:56  profilanswer
 

machinbidule1974 a écrit :

voici comment je ferai mais ça n'est peut-être pas une référence:
 
créer un objet de type PisteurDeVoiture ayant pour attribut un tableau de taille NxM d'objets voiture. Pour les coordonnées (x,y), on appelle une méthode getVoiture(int x, int y) qui appelle retourne le Thread de la voiture ou null. Chacun de tes threads va donc évoluer indépendemment des autres et remettre à jour cet objet PisteurDeVoiture qui devra être un singleton. Les threads devront être synchronisés pour ne pas avoir de collison dans la mise à jour de ton tableau... Aussi prévoir une méthode setVoiture(Voiture voiture, int x, int y)...
 
Bref, tu vois le topo..


 
Je vais essayer de reflechir a ta solution, merci pour ton aide :jap:  
Par contre je ne sait pas ce qu'est un singleton, je vais aller voir sur google si je trouve qqchose. (EDIT : trouvé http://smeric.developpez.com/java/uml/singleton/
 
En passant, j'ai testé en partie ma solution, je ne sais pas si c moi qui l'ai codé avec les pieds (c fort possible) mais mon programme rame mechamment avec cette solution :D


Message édité par Loizo le 29-02-2004 à 22:51:41
n°659740
Loizo
Posté le 29-02-2004 à 22:56:42  profilanswer
 

En la relisant plusieurs fois je me rend compte que c assez compliqué, en quoi cette solution va permettre d'eviter les collisions ?  
J'ai pas du bien comprendre le principe dsl :(

n°660037
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 01-03-2004 à 14:45:50  profilanswer
 

Les collisions peuvent être évitées en synchronisant tes différents threads Voiture. Le fait de déléguer la gestion de la position des différentes voitures à un seul et même objet te permet de synchroniser les threads sur cet objet. Mais attention, ton problème de perfs doit venir du fait que tu synchronises "trop". Je pense que tu dois synchroniser des méthodes entières alors que tu devrais synchroniser uniquement les portions critiques de code avec des blocs synchronized

n°660067
benou
Posté le 01-03-2004 à 15:16:46  profilanswer
 

Ben j'ai l'impression que l'ami Loizo utilise la synchronisation sans vraiment avoir compris ce que c'est ...
 
c'est pas une critique, hein ! C'est juste l'impression que ca donne. Donc c'est pas trop étonnant qu'il ait des problèmes (de perf entre autre)


---------------
ma vie, mon oeuvre - HomePlayer
n°660230
Loizo
Posté le 01-03-2004 à 18:02:22  profilanswer
 

benou a écrit :

Ben j'ai l'impression que l'ami Loizo utilise la synchronisation sans vraiment avoir compris ce que c'est ...
 
c'est pas une critique, hein ! C'est juste l'impression que ca donne. Donc c'est pas trop étonnant qu'il ait des problèmes (de perf entre autre)


 
Ben nan je comprend pas tout la dedans, j'suis en 2eme année d'iut, tout ce qui se rapporte aux threads a juste été vu durant 1 seul tp au cours de l'année et mon projet traite de ca. Donc en gros j'suis quasiment partis de 0 et j'essaye d'apprendre,c pas vraiment inné comme truc. Donc je me debrouille comme je peux et franchement j'suis qd meme assez content du resultat meme si je me doute que ca pourrai etre bien mieux.

n°660231
Loizo
Posté le 01-03-2004 à 18:07:42  profilanswer
 

machinbidule1974 a écrit :

Les collisions peuvent être évitées en synchronisant tes différents threads Voiture. Le fait de déléguer la gestion de la position des différentes voitures à un seul et même objet te permet de synchroniser les threads sur cet objet. Mais attention, ton problème de perfs doit venir du fait que tu synchronises "trop". Je pense que tu dois synchroniser des méthodes entières alors que tu devrais synchroniser uniquement les portions critiques de code avec des blocs synchronized


 
Nan nan j'ai aucune methode synchronized je ne fais que des blocs.
Bon comme le dis benou c vrai que j'ai du mal a ce niveau la donc je vais essayer de voir avec mon tuteur parce que je comprend pas trop la mais bon en general je recolte tres peu d'aide, il me promet de regarder mon code mais n'en fait rien :/
 
En fait moi j'ai ma classe CarreAnim qui etend Thread, chaque voiture etant une instance de cette classe et dans le run() je fais varier les coordonnées x/y selon certain parametre donc si je recrée un autre objet qui gere ces coordonnées ca me fait refaire tout mon code d'autant que mon run() semble faire ce que tu dis... enfin bref faut que je bosse ca...
Merci :jap:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[JAVA] Image en Backgroundpseudo-frame en PHP, probléme
Problème requête SQL (Ms SQL 2000)problème avec smtp
[FlashMX 2004 action-SCRIPT] - probleme avec ComboboxProblème sur une expression régulière
[Résolu]nOOb, problème de class pathprobleme d'include
[Applet JAVA] Problème de thread qui ne rend pas la main[JAVA] probleme de thread
Plus de sujets relatifs à : [JAVA]Probleme de Thread


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR