Condividi tramite


Stopwatch.Frequency Campo

Definizione

Ottiene la frequenza del timer sotto forma di numero di cicli al secondo. Questo campo è di sola lettura.

public: static initonly long Frequency;
public static readonly long Frequency;
 staticval mutable Frequency : int64
Public Shared ReadOnly Frequency As Long 

Valore del campo

Esempio

Nell'esempio seguente viene visualizzata la frequenza e la risoluzione di un Stopwatch timer. Questo esempio di codice fa parte di un esempio più grande fornito per la Stopwatch classe.

void DisplayTimerProperties()
{
   // Display the timer frequency and resolution.
   if ( Stopwatch::IsHighResolution )
   {
      Console::WriteLine( "Operations timed using the system's high-resolution performance counter." );
   }
   else
   {
      Console::WriteLine( "Operations timed using the DateTime class." );
   }

   Int64 frequency = Stopwatch::Frequency;
   Console::WriteLine( "  Timer frequency in ticks per second = {0}", frequency );
   Int64 nanosecPerTick = (1000L * 1000L * 1000L) / frequency;
   Console::WriteLine( "  Timer is accurate within {0} nanoseconds", nanosecPerTick );
}
public static void DisplayTimerProperties()
{
    // Display the timer frequency and resolution.
    if (Stopwatch.IsHighResolution)
    {
        Console.WriteLine("Operations timed using the system's high-resolution performance counter.");
    }
    else
    {
        Console.WriteLine("Operations timed using the DateTime class.");
    }

    long frequency = Stopwatch.Frequency;
    Console.WriteLine("  Timer frequency in ticks per second = {0}",
        frequency);
    long nanosecPerTick = (1000L*1000L*1000L) / frequency;
    Console.WriteLine("  Timer is accurate within {0} nanoseconds",
        nanosecPerTick);
}
Public Shared Sub DisplayTimerProperties()

   ' Display the timer frequency and resolution.
   If Stopwatch.IsHighResolution Then
      Console.WriteLine("Operations timed using the system's high-resolution performance counter.")
   Else
      Console.WriteLine("Operations timed using the DateTime class.")
   End If
   
   Dim frequency As Long = Stopwatch.Frequency
   Console.WriteLine("  Timer frequency in ticks per second = {0}", frequency)
   Dim nanosecPerTick As Long = 1000000000 / frequency
   Console.WriteLine("  Timer is accurate within {0} nanoseconds", nanosecPerTick)

End Sub

Commenti

La frequenza timer indica la precisione e la risoluzione del timer. Ad esempio, una frequenza timer di 2 milioni di zecche al secondo equivale a una risoluzione timer di 500 nanosecondi per tick. In altre parole, poiché un secondo equivale a 1 miliardo di nanosecondi, una frequenza timer di 2 milioni di zecche al secondo equivale a 2 milioni di zecche per 1 miliardo di nanosecondi, che possono essere ulteriormente semplificate a 1 tick per 500 nanosecondi.

Il Frequency valore dipende dalla risoluzione del meccanismo di intervallo sottostante. Se l'hardware e il sistema operativo installati supportano un contatore delle prestazioni ad alta risoluzione, il Frequency valore riflette la frequenza di tale contatore. In caso contrario, il Frequency valore è basato sulla frequenza timer di sistema.

Poiché la Stopwatch frequenza dipende dall'hardware e dal sistema operativo installato, il Frequency valore rimane costante mentre il sistema è in esecuzione.

Si applica a

Vedi anche