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

avec Java Discussion :

Thread sur des méthodes static


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 51
    Par défaut Thread sur des méthodes static
    Bonjour,


    Dans un programme j'envoie 3 requêtes à des serveurs et je traite les réponses les unes après les autres.
    Dans un soucis de rapidité (les serveurs en question répondent assez lentement en général), j'aimerais envoyer les 3 requêtes en même temps (donc faire 3 Thread j'imagine ?) et lorsque j'ai obtenu les réponses, les traiter séquentiellement. L'envoie des 3 requêtes se font via le biais de 3 méthodes static appartenant à une même classe, static elle aussi.

    Quelle est la meilleure manière de procéder pour créer les 3 Threads puis ensuite attendre d'avoir les 3 réponses afin de les traiter ?

    Idéalement, je pourrais même faire mieux. Je dois d'abord traiter la requête r1, puis r2 et ensuite r3 (obligatoirement dans cet ordre). Je pourrais donc envoyer les 3 requêtes et commencer à travailler dés que je reçois la requête 1 jusqu'à un certain endroit où j'attends la requête 2, ..


    Voila,

    merci d'avance pour vos réponses

  2. #2
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Un truc comme ça ça irait?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    MonThread t1 = new MonThread(parametres1);
    MonThread t2 = new MonThread(parametres2);
    MonThread t3 = new MonThread(parametres3);
    t1.start();
    t2.start();
    t3.start();
     
    t1.join();
    //Traitement lié à la requête 1 utilisant l'objet t1.resultat
    t2.join();
    //Traitement liés à la requête 2...
    t3.join();
    //Traitement liés à la requête 3...
     
    class MonThread extends Thread{
     //attributs...
     //constructeurs...
     public Object resultat; //Un objet contenant le résultat de ta requête
    public void run(){
    //Lancement de la requête
    //création de l'objet contenant le résultat
    }
    l'objet résultat peut bien sur être ce que tu veux hein... après à toit de voir si une seule classe de Thread peut réunir tes trois traitements, rien ne t'empêche d'en faire plusieurs.

Discussions similaires

  1. Problème de thread sur une méthode d'une classe C++
    Par yoshi84300 dans le forum Threads & Processus
    Réponses: 5
    Dernier message: 12/03/2013, 11h23
  2. Pointeur de fonction sur des méthodes de QTime
    Par Gébix dans le forum Débuter
    Réponses: 1
    Dernier message: 22/07/2012, 11h40
  3. Reflection java sur une méthode static
    Par Proxy dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 01/03/2012, 15h47
  4. Gestion de droits sur des méthodes de classe
    Par Braillane dans le forum Diagrammes de Classes
    Réponses: 1
    Dernier message: 06/10/2008, 16h31
  5. thread et méthodes static
    Par sylpichard dans le forum MFC
    Réponses: 3
    Dernier message: 02/06/2004, 17h12

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