chat
Class Cronometro

java.lang.Object
  |
  +--chat.Cronometro

public class Cronometro
extends java.lang.Object

Classe di utilità che realizza un cronometro per misurare intervalli temporali espressi in millisecondi. Basata sull'orologio di sistema (vedere System.currentTimeMillis()).

La precisione delle misure di tempo effettuate dipende dunque dall'accuratezza con la quale è realizzato il timer di sistema Java: esperimenti pratici rivelano che in ambiente Windows la sensibilità di System.currentTimeMillis() è di 10 ms, mentre su stazioni SUN Sparc, ad esempio, è di 1 ms.

Corretta anche in situazioni multi-threading.

Version:
1.0
Author:
Marco Cimatti

Field Summary
private  boolean avanzando
          Variabile di stato che indica se il cronometro sta avanzando oppure no.
private  long avviato_a
          Istante temporale dell'ultimo avvio del cronometro.
private  long contatore
          Accumulatore contenente il numero dei millisecondi trascorsi.
 
Constructor Summary
Cronometro()
          Costruttore: resetta il cronometro invocando il metodo d'istanza azzera().
 
Method Summary
 void avanza()
          Metodo che fa (ri)partire il conteggio.
 void avanzaDaCapo()
          Azzera il cronometro e ne fa partire il conteggio.
 void azzera()
          Metodo per (fermare ed) azzerare del cronometro.
 void ferma()
          Metodo che blocca l'avanzamento del cronometro.
 long leggi()
          Lettura del conteggio corrente effettuato dal cronometro.
 java.lang.String toString()
          Conversione in stringa del conteggio corrente.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

contatore

private long contatore
Accumulatore contenente il numero dei millisecondi trascorsi.

avviato_a

private long avviato_a
Istante temporale dell'ultimo avvio del cronometro.

avanzando

private boolean avanzando
Variabile di stato che indica se il cronometro sta avanzando oppure no.
Constructor Detail

Cronometro

public Cronometro()
Costruttore: resetta il cronometro invocando il metodo d'istanza azzera(). Non avvia il conteggio; per fare ciò usare i metodi avanza() ed avanzaDaCapo().
See Also:
azzera(), avanza(), avanzaDaCapo()
Method Detail

azzera

public void azzera()
Metodo per (fermare ed) azzerare del cronometro.

avanza

public void avanza()
Metodo che fa (ri)partire il conteggio. Non azzera il cronometro, ma fa procedere la misura del tempo partendo dal valore immagazzinato nell'accumulatore.

Il cronometro può essere fermato mediante ferma().

See Also:
ferma()

ferma

public void ferma()
Metodo che blocca l'avanzamento del cronometro. Usare avanza() per far ripartire il conteggio, avanzaDaCapo() per azzerare il tutto prima di dare inizio al conteggio.
See Also:
avanza(), avanzaDaCapo()

avanzaDaCapo

public void avanzaDaCapo()
Azzera il cronometro e ne fa partire il conteggio.

leggi

public long leggi()
Lettura del conteggio corrente effettuato dal cronometro. Chiamate successive a questo metodo riportano valori diversi nel caso in cui il cronometro stia avanzando.
Returns:
il numero totale di millisecondi contati dall'istanza.

toString

public java.lang.String toString()
Conversione in stringa del conteggio corrente. La lettura del valore viene effettuata mediante il metodo leggi().
Overrides:
toString in class java.lang.Object
Returns:
una stringa rappresentante il numero di millisecondi contati dall'istanza in questione.
See Also:
leggi()