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

Concurrence et multi-thread Java Discussion :

Question sur les threads


Sujet :

Concurrence et multi-thread Java

  1. #1
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut Question sur les threads
    J'ai une question.

    J'ai rajouté dans mon application un thread qui fait une boucle infinie en testant une variable qui passe a un moment donné à vrai dans le programme principal pour laisser le thread faire un traitement.

    Depuis mon programme rame affreusement (je le lance trois fois pour le tester (il s'agit d'un programme en réseau, donc je le teste localement avec plusieurs clients)), et le programme a un comportement assez erratique et il prend 99% des ressources systèmes...
    Normal ?

  2. #2
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Est-ce que tu fais un sleep dans ta boucle infini ou est-ce que le thread boucle tout le temps. Si tu ne fais pas de sleep, je suppose que ton pb viens de la : les 3 thread qui boucle indefiniment prennent une grosse partie du tps proc et ton prog principal a bcp moins de tps pour s'executer

  3. #3
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    J'ai justement fait un sleep et ça va mieux, mais ça met quand même du temps.
    Alors je sais pas si c'est le fait de lancer plusieurs fois le programme qui fait tout un peu ramer mais pour un pauvre programme java je trouve ça excessif!

  4. #4
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Est-ce que tu as pense a cree un evenement au lieu de passer par un booleen ?

  5. #5
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Je vois pas bien comment faire passer un évènement à un thread (suis un peu boulet désolé)

  6. #6
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    ca fait un petit moment que je n'ai pas fait ce genre de chose : le principe c'est de remplacer le passage du booleen a vrai par le signal vers un listener que tu as defini. Le thread dois juste etre un listener sur cet evenement.
    Mes explications ne sont certainement pas tres clair, je vais essayer de te retrouver le tuto sur lequel je m'etais base.
    C'est la meme logique que pour un evenement graphique

  7. #7
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Bon je retrouve pas le tuto que je voulais...
    Si ca ne pose aps de pb d'inclure du swing dans ton appli, tu peux jeter un oeil sur le tuto pour creer ton listener :

    http://java.developpez.com/faq/java/...#CreerListener

  8. #8
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Je vais voir.
    Au delà de ça c'est pas vraiment ça qui pose pb, puisque l'application cliente rame beaucoup alors qu'il n'y a pas de threads dedans (tous sont bloqués par des fonctions)

    C'est vraiment très bizarre (limite désespérant)

    Je crois que 1000 lignes de code c'est critique je pourrais jamais faire un projet de plus que ça.

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Linio
    Au delà de ça c'est pas vraiment ça qui pose pb, puisque l'application cliente rame beaucoup alors qu'il n'y a pas de threads dedans (tous sont bloqués par des fonctions)
    Que veux-tu dire par là ? Comment est-ce que tu bloques les threads ???

    Citation Envoyé par Linio
    Je crois que 1000 lignes de code c'est critique je pourrais jamais faire un projet de plus que ça.
    1000 ligne de code ce n'est rien du tout... le problème doit surement venir de ton code...

    A en voir les symptôme tu dois avoir des boucles infini ou des attentes active qui traine... voir une création d'objets en boucle...


    a++

  10. #10
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Mes threads sont bloqués sur des attentes de flux.
    Je vais scanner bien ligne par ligne pour vérifier mais bon je crois que c'est pas la prog qui merde c'est plus des concepts java que j'ai pas encore (genre pourquoi toutes mes bordures d'objets ont disparu comme ça alors que j'ai rajouté la méthode paint à mes composants, j'ai pas tout suivi...)

  11. #11
    Membre confirmé Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Points : 570
    Points
    570
    Par défaut
    Ou un problème de conception aussi, on y pense jamais, mais parfois on fait trés compliqué alors qu'il y a beaucoup plus simple !!!!

Discussions similaires

  1. Question sur les threads
    Par The eye dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 14/02/2007, 14h32
  2. Question sur les threads
    Par thebloodyman dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 22/01/2007, 07h28
  3. Questions sur les threads: généralités
    Par Gragra dans le forum C++
    Réponses: 9
    Dernier message: 04/11/2006, 16h28
  4. Quelques questions sur les threads
    Par benj63 dans le forum C++Builder
    Réponses: 28
    Dernier message: 21/11/2005, 13h27
  5. Question sur les threads
    Par nicolas66 dans le forum MFC
    Réponses: 4
    Dernier message: 03/06/2005, 20h57

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