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

Java Discussion :

Thread créé dans une classe et pouvant appeler les méthodes de cette classe?


Sujet :

Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 173
    Points : 187
    Points
    187
    Par défaut Thread créé dans une classe et pouvant appeler les méthodes de cette classe?
    Bonjour à tous,
    Dans le cadre d'un projet, j'aurais besoin, pour télécharger puis ouvrir un document en local, que le traitement devienne asynchrone. Il existe déjà au sein du projet des fonctions permettant de faire ce traitement mais pas de manière asynchrone. J'ai donc pensé aux thread mais les fonctions que je dois utiliser sont dans la classe dans laquelle je dois créer le thread (une classe représentant l'applet) et j'ai pensé à faire les choses comme ca:
    - créer une classe étendant Thread dans laquelle j'appelle dans le run() les fonctions de ma classe applet pour le téléchargement et l'ouverture des documents
    - dans la classe applet, création d'une méthode qui créera (avec des paramètres au niveau du constructeur dont ma classe applet pour les appels aux fonctions de cette classe) et démarera le thread lors de son appel

    Est-ce correct? La classe applet étant celle qui créé le thread et qui contient les fonctions qui seront appelées par le thread, cela ne posera t-il pas de problèmes?

    En vous remerciant d'avance pour vos réponses.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par philou44300 Voir le message
    Est-ce correct? La classe applet étant celle qui créé le thread et qui contient les fonctions qui seront appelés par le thread, cela ne posera t-il pas de problèmes?
    dans le principe ça ne pose aucun problème, mais pour faire une tâche asynchrone qui agit sur une interface graphique, autant utiliser un SwingWorker.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 173
    Points : 187
    Points
    187
    Par défaut
    Merci pour ta réponse. Je ne connaissais pas ca mais c'est intéressant. Cependant, ce n'est ce qu'il me faut je pense. En effet, les interfaces sont générées en HTML avec du code javascript qui appelle les fonctions de l'applet codées en java donc c'est au niveau de l'applet que je dois intéragir en modifiant le traitement qui existe en un traitement asynchrone de manière à ce que l'utilisateur ne soit pas bloqué lors de ce traitement qui peut être long si le fichier à récupérer et à ouvrir est gros.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    le swingworker peut très bien invoquer des fonctions javascript sur la page qui contient ton applet.
    tu peux aussi lancer ces appels dans des threads java séparés, que ces appels javascript lancent des requêtes ajax, ou utilises des workers, et que tu synchronises les différents retour d'appels en utilisant un CountDownLatch...

    si tu veux "threader" tes appels javascript de ton applet, c'est pareil

    cette doc pourrait peut être t'intéresser : Combining jQuery Deferred with the HTML5 Web Workers API

Discussions similaires

  1. Thread / Invoke / dans une autre classe
    Par totoz dans le forum VB.NET
    Réponses: 1
    Dernier message: 12/03/2009, 16h07
  2. [Débutant]Deux Threads différent dans une même classe?
    Par Invité dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 26/01/2007, 15h58
  3. Réponses: 1
    Dernier message: 21/03/2006, 14h29
  4. [Thread] Recherche dans une BDD
    Par Pedro dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/05/2005, 14h03
  5. [Thread] Erreur dans une classe interne
    Par totof2308 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/06/2004, 08h15

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