pour appeler toto.wait()
tu dois avoir un synchronized sur toto
pour faire un wait() sur un autre objet,
il faudra faire un synchronized sur cet object
ca c est pour la syntaxe du langage.
maintenant, concernat la fonctionalite recherchee,
tu fais un wait() sur le mutex parceque tu attends
d etre receille par un appel a notify() fait par une autre thread sur le MEME mutex.

pour info la librairie concurent (il y a une JSR sur ce sujet)
est tres interessante pour ce genre de pb

        rod


>>-----Original Message-----
>>From: Eric LEMAITRE [mailto:[EMAIL PROTECTED]]
>>Sent: Thursday, June 27, 2002 1:45 PM
>>To: Liste Java
>>Subject: Trop fin pour moi
>>
>>
>>Salut la liste !
>>
>>J'ai un probl�me moral existentiel, du genre o� il vaut mieux avoir fait 
>>philo qu'informatique pour comprendre ce qui se passe (j'exag�re, enfin 
>>j'esp�re).
>>Dans la s�rie des tr�s grands classiques pour impl�menter verrouillage, 
>>soit le bout de code suivant (simple exemple, c'est pas un vrai) :
>>
>>class RWLock
>>{
>>Object mutex = new Object();    // Exclusion mutuelle qui verrouille 
>>l'acc�s � la ressource critique
>>.....
>>    // On demande le verrou sur la ressource, le programme appelant 
>>reste bloqu� tant qu'on ne l'a pas
>>    public void getLock()
>>    {
>>        // Bloc de code synchronis� sur le mutex, pour l'instant j'ai bon
>>        synchronized(mutex)
>>        {
>>                while (ressource_pas_disponible)
>>                {
>>                    mutex.wait();    // J'attends (le Thread en cours, 
>>�videmment)
>>etc.................................
>>
>>Et c'est donc l� qu'est mon probl�me existentiel, la nuance qui 
>>m'�chappe : Je fais "mutex.wait()" pour attendre, mais est ce qu'on 
>>pourrait faire "wait()" tout court sur l'instance de Thread courante, 
>>est ce que �a reviendrait au m�me ? Je sens intuitivement que non, mais 
>>je n'arrive pas � me d�montrer pourquoi.
>>Vivement la partie 3 de l'article "Achieve strong performance with 
>>Threads" sur JavaWorld le mois prochain, cette explication sera 
>>probablement dedans.
>>
>>TIA, @ ++ !
>>
>>-- 
>>Supprimez "NOSPAM" de mon adresse pour me r�pondre, SVP
>>Please get rid of "NOSPAM" from my adress so as to answer me
>>
>>Eric LEMAITRE
>>CNAM Computer Engineer, MS/CS
>>Certified Java Programmer, Cisco Network & Design Associate, 
>>Linux RedHat Engineer & Trainer
>>Java : SCJP2 (#H3CPAR00B0)
>>Cisco : CCNA (#CSCO10300611), CCDA (#CSCO10437862)
>>Linux RedHat : RHCE (#806099741300292), RHCX
>>
>>

Répondre à