[java] verrou

Fermé
karine - 4 mai 2005 à 11:38
 karine - 4 mai 2005 à 16:40
Bonjour,

je voudrais mettre un verrou sur un flux OutputStream.

J'ai vu sur internet qu'il y avait des trucs synchronized mais aussi wait et notify.

Par contre j'ai pas trop compris comment ça s'utilisait.

Est-ce que quelqu'un s'y connait ?

Merci
A voir également:

4 réponses

J'ai mis des synchronized sur certaines de mes méthodes.

Pou moi, ça veut dire que quand un thread execute cette methode, les autres threads doivent attendre que le 1er thread ait fini pour faire cette meme methode.

Est-ce que c'est ça ?
Parce que moi, ça ne donne pas ça.

Merci
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
4 mai 2005 à 15:56
ben je ne connais tjs pas le java ;-) , mais en C++ on utilise les sémaphores et les mutex.

Tu peux aller voir sur ce lien :
http://mdalbin.developpez.com/tutoriels/general/semaphores/
0
Satrialien Messages postés 52 Date d'inscription mercredi 9 mars 2005 Statut Membre Dernière intervention 28 janvier 2006 13
4 mai 2005 à 16:04
Salut,

tu peux aller voir sur http://www.infini-fr.com/ il y a une rubrique "Java" et une sous-rubrique "Les threads en Java", c'est très bien expliqué ça te permettra d'y voir plus clair.
0
Voila mon code schematiquement :

public class PServer {
    
    
    public static   void main(String[] args) throws IOException {
     
	
        try{
	
	    
            // Ecoute infinie des requêtes des clients
            while(true){
                Socket client = serveur.accept();
                Clients c = new Clients(client,stmt,numero);
		
            }
        }
        catch (Exception e){System.err.println(e);}
        finally{
            try{
                if (serveur != null) {
			serveur.close();
			//System.out.println("serveur.close");
		}
            }
            catch (Exception e){System.err.println(e);}
        }
    }
} // !PServer


class Clients extends Thread {
 public void run(){
        try{
envoi_reponseWeb_au_client();
} catch ....
}



Moi ce que je voudrais, c'est qu'il y ait qu'un thread à la fois qui execute la methode envoi_reponseWeb_au_client();

J'avais pensé a un variable booleenne ecrire mais je ne sais pas où la déclarer pour que tous les clients aient la meme valeur de ecrire.

bref je suis un peu perdue ...
Un petit coup de main n'est pas de refus! ;-)
0