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 :

Gestion de Threads


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Par défaut Gestion de Threads
    Bonjour,

    Je dois manipuler des Threads dans mon projet mais j'ai un peu de mal à appréhender les choses.
    J'ai une premier classe Parsing qui est implements Runnable
    Elle écrit un document xml puis l'envoi sur une adresse jsp puis lance son thread
    t = new Thread();
    t.start();


    Ceci m'exécute alors :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    public void run()
    {
        fin = true;
        SAXBuilder sxb = new SAXBuilder();
    
        try {
    
                while(fin){
    
                    myTimeTask= new TimeTask(t1,6000);
                    myTimeTask.start();
    
    
    
    		try {
    
    			URLConnection urlConnection = url.openConnection();
    
    			urlConnection.connect();
    
    			InputStream stream = urlConnection.getInputStream();
    
    			xmlDocument = sxb.build(stream);
    			if(xmlDocument != null)
    			{
    				fin=false;
    			}
    
                        }
                        catch (JDOMException e)
                        {
                                e.printStackTrace();
                        }
                        catch (IOException e)
                        {
                                Logger.getLogger(LectureXML.class.getName()).log(Level.SEVERE, null, e);
                                e.printStackTrace();
                        }
    
                       }
                        
                        LectureXML.identification(xmlDocument);
                        myTimeTask.interrupt();
                        
            } catch (Exception ex) {
                Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
            }
    }
    Et la classe TimeTask qui me permet d'arrêter mon Thread du Parsing au bout de 1 minutes.
    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
    24
    25
    26
     
    class TimeTask {
        private long timetask =0;
        private final Thread thread;
     
        TimeTask(Thread t1, int i) {
            thread = t1;
            timetask = i;
        }
     
        void start() {
            try {
                Thread.sleep(timetask);
                Parsing.stop();
                thread.interrupt();
     
            } catch (InterruptedException ex) {
                Logger.getLogger(TimeTask.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
     
        void interrupt() {
            this.interrupt();
        }
     
    }
    et j'ai déclaré ma méthode identification de LectureXML en synchronized.

    mais mon soucis intervient sur comment interrompre mon Thread du Parsing, et comment l'identifier pour interrompre le bon? Car il faut savoir que ma classe Parsing sera appelée plusieurs fois, entrainant donc une multitude de Thread (qui eux même créer un Thread timer).

    merci à vous (en espérant avoir été assez clair)

  2. #2
    Membre confirmé Avatar de r2d2abc
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 212
    Par défaut
    salut, il y aurait pas mal de choses à te dire, regarde là pour commencer et tous les autres tutos / doc super bien faits ..

    http://alwin.developpez.com/tutorial/JavaThread/

    hth...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Par défaut
    Merci pour le lien, et j'en avais trouvé un autre, mais je les ai relu a tête reposé et j'avoue que j'ai mieux compris et pour gérer mon temps des Threads j'ai utilisé plutot un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.currentTimeMillis()

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Par défaut
    Bonjour,

    C'est bon, t''as résolu ton problème ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Par défaut
    Je ne peux pas confirmer, j'ai fait du code mais aucun moyen de le tester. Faut que j'attende pour le tester. Il me faut un serveur de dispo ^^ et ils sont à la traines xd.
    Mon soucis sera peut être lors de la synchronisation... je sais pas trop.

Discussions similaires

  1. gestion des threads
    Par yanis97 dans le forum Langage
    Réponses: 6
    Dernier message: 20/04/2006, 12h41
  2. Gestion des Threads
    Par Nalfouille dans le forum MFC
    Réponses: 3
    Dernier message: 05/04/2006, 16h29
  3. Gestion des threads
    Par yanis97 dans le forum C++
    Réponses: 6
    Dernier message: 08/03/2006, 09h39
  4. GEstion des thread
    Par Julien Dufour dans le forum Access
    Réponses: 8
    Dernier message: 06/10/2004, 14h28
  5. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40

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