Esempio di tecnologia dei timer
Aggiornamento: novembre 2007
In questo esempio viene illustrato come utilizzare i timer in Common Language Runtime. Nell'esempio viene utilizzata la classe Timer per generare un callback periodico a un metodo. Una volta creata, la classe Timer viene passata a un delegato. Quando la classe Timer viene generata, il delegato viene richiamato e viene effettuata una chiamata asincrona a un metodo statico tramite un thread di lavoro nel pool di thread.
Per ulteriori informazioni sull'utilizzo degli esempi, vedere i seguenti argomenti:
Per compilare l'esempio utilizzando il prompt dei comandi
Aprire la finestra del prompt dei comandi, quindi spostarsi in una delle sottodirectory specifiche del linguaggio relative all'esempio.
Dalla riga di comando digitare msbuild TimersCS.sln o msbuild TimersVB.sln, a seconda del linguaggio di programmazione che si desidera utilizzare.
Per compilare l'esempio utilizzando Visual Studio
Aprire Esplora risorse, quindi spostarsi in una delle sottodirectory specifiche del linguaggio relative all'esempio.
Fare doppio clic sull'icona relativa a TimersCS.sln o TimersVB.sln, a seconda del linguaggio di programmazione che si desidera utilizzare, per aprire il file in Visual Studio.
Scegliere Compila soluzione dal menu Compila.
Per eseguire l'esempio
Spostarsi nella directory contenente l'eseguibile compilato, utilizzando il prompt dei comandi.
Digitare TimedCallback.exe dalla riga di comando.
Nota: L'esempio compila un'applicazione console. Per visualizzare l'output dell'applicazione, è necessario avviarla da una finestra della console.
Osservazioni
Nell'elenco riportato di seguito vengono descritte in modo sintetico le classi e le tecnologie utilizzate dall'esempio.
Timer di thread
- Timer- Consente di creare timer periodici o singleton per intervalli di tempo assoluti o relativi. Nell'esempio viene creato un timer periodico che richiama un delegato ogni due secondi finché l'applicazione non viene chiusa.
Pool di thread - Sebbene in questo esempio non venga fatto riferimento esplicitamente alla classe ThreadPool, la classe Timer utilizza il pool di thread gestito da Common Language Runtime per richiamare i delegati in modo asincrono in risposta agli eventi del timer. Nell'esempio il timer utilizza un thread di lavoro nel pool ogni due secondi.
Delegati
- TimerCallback- Consente di creare un metodo di callback indipendente dai tipi per il timer.
Per ulteriori informazioni sull'utilizzo dei timer con chiamate asincrone ai metodi, vedere i commenti nei file di codice sorgente.