IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

[Thread]Bien Synchroniser Une Thread de Chargement d'Images


Sujet :

Applets Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Points : 17
    Points
    17
    Par défaut [Thread]Bien Synchroniser Une Thread de Chargement d'Images
    Bonjour!

    Je réalise une applet qui affiche des images et permet de naviguer d'images en images dans les 4 directions (haut, bas, droite, gauche). Bien entendu les Images en questions sont a charger dynamiquement sur le serveur qui héberge l'applet.

    afin de ne pas les charger une a une et d'optimiser la vitesse d'affichage j'ai décidé d'écrire une thread qui charge les 4 voisins de l'image Courante.

    Mon problème est que quand l'utilisateur change d'image je veut que la thread de chargement charge les voisins de la nouvelle image courante.

    J'ai donc quelques questions:
    -est il possible d'envoyer des signaux (type signaux UNIX) entre threads? si oui comment?

    -si ma thread abandonne le chargement d'une image en plein milieu (sachant que j'utilise un tableau d'images) pourra-t-il le reprendre au même point plus tard? (lorsque l'image en question redeviendra voisin de l'image courante)

    -ne sachant pas comment écrire des signaux j'ai pensé a détruire la thread lors du chargement d'image et a en recréer une a chaque fois, mais, sachant que le temps passé sur l'image est a priori très cours et que l'applet est censée être affichable par des smartphones, cette solution ne nuira-t-elle pas trop aux performances?

    merci d'avance pour vos reponses

  2. #2
    Membre éclairé
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Points : 844
    Points
    844
    Par défaut
    Regarde du coté de MediaTracker() et plus particulièrement de la méthode waitFor(...)
    JBusyComponent, une API pour rendre occupé un composant swing.
    SCJP Java 6.0 (90% pass score)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    oui c'est cette technique que j'utilise.
    mon problème se situais plutôt dans le fait de signaler a ma thread de chargement qu'elle devait changer les images a charger.

    j'ai résolu ce problème (enfin sur le papier parce que ca crash avant :s) en utilisant un booléen pour signifier le changement d'image et en en vérifiant l'état a chaque fois qu'une image est chargée.

    mon problème maintenant est qu'il me faut un componant a donner au constructeur du MediaTracker. la classe qui utilise la thread de chargement hérite de Canevas mais je ne sait pas comment y accéder de ma thread...

    merci pour votre temps

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    j'ai reussi a faire fonctionner mon programme en créant un objet JPanel dans ma thread de chargement d'image et en le passant au constructeur du MediaTracker.

    cette methode n'est pas très propre et ca me gene un peut de devoir creer un objet qui ne sert a rien...

    n'y a-t-il pas une autre solution?
    comme je le disait plus haut l'objet qui instancie ma thread herite de Canevas et conviendrait donc au constructeur du MediaTracker mais je n'arrive pas a y acceder...

    merci d'avance pour votre aide!

Discussions similaires

  1. Thread et synchronisation d'une liste
    Par mikeOSX dans le forum Concurrence et multi-thread
    Réponses: 14
    Dernier message: 18/01/2010, 16h58
  2. Réponses: 5
    Dernier message: 14/07/2008, 21h23
  3. [Threads] Savoir si un thread a provoqué une erreur
    Par anykeyh dans le forum Windows
    Réponses: 6
    Dernier message: 26/04/2006, 15h12
  4. [Thread] comment arreter un thread qui execute une methode b
    Par Cyber@l dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 04/08/2004, 10h51
  5. Synchronisation de thread
    Par declencher dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2004, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo