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 :

Java - Exécution séquentielle ?


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    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
    Points : 30
    Points
    30
    Par défaut Java - Exécution séquentielle ?
    Bonjour,


    J'aimerais savoir si du code Java s'exécute toujours de manière séquentielle à partir du moment où je ne crée pas de Thread dans mon code ..

    Enfait, j'ai un bug dont je ne trouve vraiment pas l'origine dans un programme plutôt simple. Cependant, l'expliquer sans donner trop de morceaux de code est impossible .. et je ne peux/veux pas poster trop de code de se programme puisqu'il s'agit d'un travail d'étudiant .. Plusieurs amis ont regardé avec moi et ne trouve vraiment pas l'origine de ce bug. La seule explication qu'on a trouvé, serait que le code java ne s'exécute pas toujours de manière parfaitement séquentielle. Mais ça nous étonnerait..

    Voila, désolé pour cette *bête* question, mais je me dois de la poser parce que je ne comprend vraiment pas ce qui arrive


    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Pas vraiment, comme dans tous les autres langages d'ailleurs.

    Mais le compilateur et la JVM garantissent que l'effet produit par le thread sera exactement le même que si ça avait été exécuté dans l'ordre indiqué. (Du coup, est-ce que c'est vraiment séquentiel, en contexte monothreadé c'est une question de définition : après tout il est impossible de trouver un contre-exemple.)

    Donc soit tu as plus d'un thread, soit tu utilises un outil buggé qui ne garantit pas l'assertion ci-dessus, soit ton problème n'est pas là.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    oui, l'aspect séquentiel du code dans un thread est garanti. Il peux y avoir réogranisation par le compilateur / JIT, mais rien qui ne puisse changer le résultat d'exécution.

    Vous n'avez donc probablement pas bien regardé. Sans bout de code, difficile de vous aider. Le mieux dans ce genre de cas est de prendre l'IDE, et d'exécuter le code pas à pas pour voir ce qui se passe .

  4. #4
    Nouveau membre du Club
    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
    Points : 30
    Points
    30
    Par défaut
    C'est donc bien ce qui me semblait.

    Je vais donc continuer de chercher mon erreur ... Merci à vous deux !

  5. #5
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 552
    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 552
    Points : 15 463
    Points
    15 463
    Par défaut
    Je confirme tchize_ et thelvin, a l’intérieur d'un thread l’ordre d’exécution est garanti. Le debugger reste le meilleur moyen de comprendre ce genre de problème

    A noter cependant que certaines méthode de l'API créeront leur propre thread comme la classe java.util.Timer ou le fonctions d'awt et Swing qui vont créer un "Event Dispatch Thread"

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/10/2011, 16h43
  2. application java exécutable automatiquement
    Par clubist dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 21/03/2010, 21h08
  3. [Java] exécution du jar de glassfish plante
    Par olivier57b dans le forum Apple
    Réponses: 3
    Dernier message: 17/12/2008, 00h27
  4. [FOP][JAVA]exécution fop sous Eclipse
    Par chalumea dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 21/08/2008, 16h30
  5. Rendre une application Java exécutable
    Par kiminfor dans le forum Eclipse Java
    Réponses: 13
    Dernier message: 06/04/2007, 16h16

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