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 :

Thread.yield(); -> Blocage possible ?


Sujet :

Concurrence et multi-thread Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Thread.yield(); -> Blocage possible ?
    Bonjour,

    J'ai 2 Thread (client/serveur) qui communiqunt via une mémoire partagée. Je veux que les 2 threads se passent la main quand je le désire.

    J'ai fait comme ceci mais j'ai un doute.

    Thread Serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    memPartagee.tourClient = true;
    while (memPartagee.tourClient) {
    	Thread.yield();
    }
    Thread Client
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    memPartagee.tourClient = false;
    while (!memPartagee.tourClient) {
    	Thread.yield();
    }
    En réalié je ne sais pas trop ce qui peu foiré ( ) mais j'ai l'impression qu'il y a un problème d'atomicité de l'opération !!!

    Merci de votre aide !

    Jaggy

  2. #2
    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
    Ce n'est pas du tout Thread.yield() qu'il faut utiliser pour "se passer la main"... Thread.yield() ne sert que pour du débuggage (pour augmenter la probabilité d'ordancement à tel instant)...

    Si un doit attendre l'autre, il faut utiliser des mécanismes de synchronisation.

Discussions similaires

  1. [VB.NET] Fenêtre modale sans blocage de code, c'est possible ?
    Par loki9481 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/05/2007, 15h17
  2. blocage threads glib
    Par hicham100 dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 19/04/2007, 18h43
  3. thread.yield en C# ?
    Par lamlouma dans le forum C#
    Réponses: 1
    Dernier message: 10/04/2007, 14h02
  4. [Thread] probléme de blocage.
    Par airod dans le forum Tkinter
    Réponses: 6
    Dernier message: 07/11/2006, 15h21
  5. [Thread] Blocage dans mon programme
    Par Xo Sonic oX dans le forum EDT/SwingWorker
    Réponses: 4
    Dernier message: 18/06/2005, 18h12

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