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 :

[Wait / Sleep Thread] ho multhitread adoré..


Sujet :

Concurrence et multi-thread Java

  1. #1
    Membre habitué Avatar de zolive
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 152
    Points : 137
    Points
    137
    Par défaut [Wait / Sleep Thread] ho multhitread adoré..
    Je réalise actuellement une application massivement multithreadée
    et j'ai des comportements différents quand je deploie sur un OS Linux et un OS windows. J'ai lu sur le net que le comportement linux/windows pour les threads n'est pas identiques puisque Linux mappe sur des processus et pas Windows.
    Le comportement que j'observe sous linux donne l'mpression presque d'une application monothreadée. Peut être est ce du a des boucles infini avec des temps trop courts de Sleep. (dans ces boucles l'utilisation de sémaphore n'apporterais rien) Est ce que qq a un lien de documentation pour aller a la peche aux infos sur ce sujet.
    de plus est ce qq connait la difference d'utilisation d'un wait(long) par rapport à un Tread.sleep(long)

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 62
    Points : 75
    Points
    75
    Par défaut
    Le wait(long) hérité de Object est completement different d'un sleep. Ton wait est un verrou qui serra dévérouillé par la méthode notify ou notifyAll [ou le temps que tu à mis dans la methode wait]. La méthode Thread.sleep() endore juste ton processus quelque temps. Regarde la doc et des cours il y en à plein.

  3. #3
    Membre éclairé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Points : 737
    Points
    737
    Par défaut
    Le fonctionnement des thread est très compliqué et dépend de la JVM utilisé!
    Tu ne peut pas garantire un ordonancement de tes thread, chaque JVM a sa propre méthode pour savoir quel thread executer et quel autre laisser dans le pool. C'est pour ça que parfoit tu as l'impression d'une application monothreadé (donc chaque thread s'execute l'un aprés l'autre) et parfois multithreadé (plusieurs thread en même temps, mais en fait, un bout de l'un, puis un bout de l'autre, ... car un CPU ne peut faire qu'une chose à la fois - sauf si CPU multithreadé ou plusieurs CPU)

  4. #4
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par woodwai
    Tu ne peut pas garantire un ordonancement de tes thread
    Si tu crées juste tes threads comme ça, tu ne peux pas, mais il existe bien sûr un moyen de garantir un ordonnancement : la synchronisation...

Discussions similaires

  1. Thread wait ou sleep ?
    Par rXpCH dans le forum Général Java
    Réponses: 2
    Dernier message: 23/02/2010, 10h41
  2. Méthode Wait,Sleep dans une boucle
    Par kilian68 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 17/12/2009, 11h50
  3. [Thread] PB Thread.sleep(1000) marche pas
    Par kliel dans le forum Concurrence et multi-thread
    Réponses: 6
    Dernier message: 03/12/2004, 13h47
  4. [Thread] besoin sleep(delay)... car java mobilise CPU
    Par thierry198 dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 27/09/2004, 17h46
  5. [Thread]sleep()
    Par jokoss dans le forum Concurrence et multi-thread
    Réponses: 15
    Dernier message: 03/07/2004, 14h33

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