Visualizzazione dei risultati da 1 a 1 su 1

Visualizzazione discussione

  1. #1

    [Java] synchronized, produttori-consumatori

    Ciao a tutti, devo svolgere un esercizio che preveda l'uso di synchronized, wait e notify per implementare una variante del problema "classico" produttori-consumatori. Ho N thread, ogni thread scrive il proprio nome in una variabile, attende che tutti gli altri lo leggano e muore. Non riesco a capire il flusso di esecuzione del seguente codice:

    codice:
    synchronized(monitor){
        while(condition){
            //i'm a writer
            condition = false;
                    doStuffs(); 
            monitor.notifyAll(); //wake up, readers! 
            monitor.wait(); //waiting other thread reading 
            canWrite = true; 
            return;
        }
        monitor.wait();
        if(stuffs) monitor.notify();
    }
    Edit: Primo problema risolto, ma ne ho un'altro.
    La chiamata monitor.notifyAll() non mi sveglia i thread in attesa su quel monitor (definito come static Object monitor = new Object(); ) ...

    Grazie in anticipo!
    Ultima modifica di TuxDroid; 12-03-2016 a 13:43

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.