Salve.
Ho trovato questa classe, vorrei capirla in dettaglio.
Ecco il codice:
Dove BoundedBufferSynchronized è una classe che implementa un buffer sincronizzatocodice:public class Producer extends Thread { private BoundedBufferSynchronized buffer; private long duration; public Producer(BoundedBufferSynchronized buffer, long d){ this.buffer=buffer; duration = d; } public void run(){ log("starting."); // invoca il metodo di sotto int cont = 0; boolean stop = false; long startTime = System.currentTimeMillis(); while (!stop) { long time = System.currentTimeMillis(); if (time - startTime < duration){ buffer.insert("Message #"+cont+" at time "+time); cont++; } else { buffer.insert("end"); stop = true; } } log("shutdown."); } private void log(String msg){ System.out.println("[PRODUCER] "+msg); } }
Non capisco il metodo System.currentTimeMillis()... di conseguenza cosa si controlla if (time - startTime < duration) cosa si inserisce con questo codice buffer.insert("Message #"+cont+" at time "+time); e queste due istruzioni...
Aiuto!

Rispondi quotando
