JavaSystem.NanoTime Metodo

Definizione

Restituisce il valore corrente dell'origine temporale ad alta risoluzione di Java macchina virtuale in nanosecondi.

[Android.Runtime.Register("nanoTime", "()J", "")]
public static long NanoTime();
[<Android.Runtime.Register("nanoTime", "()J", "")>]
static member NanoTime : unit -> int64

Valori restituiti

valore corrente dell'origine temporale ad alta risoluzione Java in esecuzione, in nanosecondi

Attributi

Commenti

Restituisce il valore corrente dell'origine temporale ad alta risoluzione di Java macchina virtuale in nanosecondi.

Questo metodo può essere usato solo per misurare il tempo trascorso e non è correlato ad alcuna altra nozione di sistema o tempo di orologio a muro. Il valore restituito rappresenta i nanosecondi perché un tempo di origine fisso ma arbitrario (forse in futuro, quindi i valori potrebbero essere negativi). La stessa origine viene usata da tutte le chiamate di questo metodo in un'istanza di una macchina virtuale Java. È probabile che altre istanze di macchina virtuale usino un'origine diversa.

Questo metodo fornisce precisione nanosecondo, ma non necessariamente la risoluzione nanosecondo (ovvero la frequenza con cui il valore cambia) - non vengono effettuate garanzie tranne che la risoluzione è almeno valida come quella di #currentTimeMillis().

Le differenze nelle chiamate successive che durano più di circa 292 anni (2<sup>63</sup> nanosecondi) non calcolano correttamente il tempo trascorso a causa dell'overflow numerico.

I valori restituiti da questo metodo diventano significativi solo quando viene calcolata la differenza tra due valori di questo tipo, ottenuti all'interno della stessa istanza di una macchina virtuale Java.

Ad esempio, per misurare il tempo necessario per l'esecuzione di codice:

{@code
            long startTime = System.nanoTime();
            // ... the code being measured ...
            long estimatedTime = System.nanoTime() - startTime;}

Per confrontare due valori nanoTime

{@code
            long t0 = System.nanoTime();
            ...
            long t1 = System.nanoTime();}

uno deve usare t1 - t0 < 0, non t1 < t0, a causa della possibilità di overflow numerico.

Il valore restituito da questo metodo non tiene conto del tempo trascorso durante il sonno profondo. Per le funzionalità di mantenimento del tempo disponibili in Android, vedere android.os.SystemClock.

Aggiunto nella versione 1.5.

per java.lang.System.nanoTime().

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a