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 independant du processus..


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    etudiant / developpeur
    Inscrit en
    Décembre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : etudiant / developpeur

    Informations forums :
    Inscription : Décembre 2009
    Messages : 131
    Par défaut Thread independant du processus..
    Bonjour a tous,

    alors mon problème concerne les threads.

    Mon programme comporte deja 3 thread qui fonctionne bien et travaille indépendamment des autres (le but me dirait vous) mais sur la classe que je code actuellement qui est aussi un extend de thread , je ne comprend pas pourquoi mais le code qui est contenu dans le run() s'exécute mais en gardant la ressource du programme ce qui me le fige et attend de sortir du thread.

    Alors mes première question sont quel facture peut influer sur le fait qu'un thread va travailler a coté du programme ou alors va garder la ressource et faire attendre le programme?

    (j'ai comparer mais autre thread et celui qui me pose problème je ne vois pas de différence...)

  2. #2
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Tu ne passerais pas par un petit bloc "synchronized" par hasard?

  3. #3
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 691
    Par défaut
    Qu'est ce que tu appelles "ressource du programme"? Il faut comprendre qu'en java, il n'y a pas vraiment de programme principal et des thread a coté. Le "main()" est exécuté sur un thread comme un autre.

    Je ne sais pas si c'est lié à ton problème mais sache aussi qu'il y a deux types de thread: les thread normaux(par défaut) et les thread démon(sur lesquels on a fait setDaemon() )
    Le programme continue tant que tous les thread normaux ne sont pas terminés. S'il ne reste plus que des Thread démons, il se termine.

  4. #4
    Membre confirmé
    Homme Profil pro
    etudiant / developpeur
    Inscrit en
    Décembre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : etudiant / developpeur

    Informations forums :
    Inscription : Décembre 2009
    Messages : 131
    Par défaut
    salut ,

    alors hwoarang , si il y a bien un bloc synchronized ^^ , mais j'ai tester sans et cela reste pareil le programme attend la fin du thread pour continuer.
    (mais personnelement je ne vois pas ce qui pourrai prendre la priorité sur ce thread vu que c'est le seul pour le moment du programme)


    et pour ce qui est des threads , si il existe un ressource principale si je peux l'appeler comme ca en java , vu que le main repose sur un processus , (le but d'utiliser un thread car il se separe du processus ,(s'execute ailleurs).

    pour ce qui est des thread demon j'ai entendu parler de ces thread mais je n'ai jamais réellement utiliser , pense tu que avec un thread demon cela va enfin s'executer sans figer le programme?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    961
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 961
    Par défaut
    Juste pour être sûr : vous ne l'avez pas lancé en appelant run() plutôt que start() ?

  6. #6
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 691
    Par défaut
    Citation Envoyé par 304bl Voir le message
    et pour ce qui est des threads , si il existe un ressource principale si je peux l'appeler comme ca en java , vu que le main repose sur un processus , (le but d'utiliser un thread car il se separe du processus ,(s'execute ailleurs).
    J'ai l'impression que tu mélanges "thread" et "processus" qui sont deux notions différentes.

    Un processus est un programme exécute par le système avec son propre espace mémoire.
    Les différents threads d'un programme s’exécutent a l'intérieur du même processus. Ils utilisent ainsi le même espace mémoire.

    Pour t'en convaincre, regarde la liste des processus : tu verras que les programmes multi-thread n'utilisent qu'un seul processus.


    Citation Envoyé par 304bl Voir le message
    pour ce qui est des thread demon j'ai entendu parler de ces thread mais je n'ai jamais réellement utiliser , pense tu que avec un thread demon cela va enfin s'executer sans figer le programme?
    Non en fait je ne pense pas que ça soit la solution a ton problème.

    Il nous faudrait plus d'informations pour pouvoir déterminer ce qui bloque dans ton programme. Un thread ne devrait pas en bloquer un autre sans bonne raison.

  7. #7
    Membre confirmé
    Homme Profil pro
    etudiant / developpeur
    Inscrit en
    Décembre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : etudiant / developpeur

    Informations forums :
    Inscription : Décembre 2009
    Messages : 131
    Par défaut
    Bon , en fait c'est une erreur toute bete , la fonction run() du thread en java et déprécié et il faut donc utiliser la fonction start() du thread qui va gérer tout ca.




    +1 a BugFactory

  8. #8
    Membre confirmé
    Homme Profil pro
    etudiant / developpeur
    Inscrit en
    Décembre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : etudiant / developpeur

    Informations forums :
    Inscription : Décembre 2009
    Messages : 131
    Par défaut
    oui c'est vraie que je melange encore un peu , je vais regarder de plus prés les fonctionnement des application java.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/08/2009, 14h51
  2. Thread : fin de processus/microsoft Office
    Par Pipaillon dans le forum Langage
    Réponses: 2
    Dernier message: 11/05/2009, 10h52
  3. [VB.Net][Threading] Communication entre processus
    Par DonF dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/02/2006, 15h15
  4. [Thread]Problème de processus
    Par berg dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 18/06/2005, 20h40
  5. [SIGNAL] threads et processus
    Par beLz dans le forum POSIX
    Réponses: 14
    Dernier message: 21/12/2004, 01h28

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