Timer e thread

lunedì 28 agosto 2006 - 10.43

bule Profilo | Junior Member

ciao a tutto il forum vi pongo subito l amia domanda:

sto realizzando un' applicazione winform c# che una volta caricata deve controllare a inervalli regolari lo stato della connesione a internet e se verifica la disponibilità di una connessione deve sincronizzarsi con un database.

per controllare lo stato della connessione a intervalli regolari uso un timer della classe system.windows.forms.timer e lancio il controllo dello stato della connesione ad ogni evento di tick.

la mia domanda è: questa operazione avviene in un thread diverso da quello che gestisce l'interfaccia grafica e comunque questo è il modo esatto per fare quello esposto sopra?

perchè se questo non è molto corretto avrei anche provato ad utilizzare un backgroundworker che viene attivato all'evento di tick e che gestisce l'operazione di controllo della connessione ma questo mi sembra un giro dell'oca...o comunque non mi senbra una soluzione pulita...

aspetto suggerimenti grazie mille per l'attenzione

alextyx Profilo | Expert

Per quanto ne so ( o credo di saperne), un timer lavora in un suo thread, tant'è che anche col codice 'bloccato' su uno showdialog di una ulteriore form, un timer, il cui codice è scritto in quello della form non attiva, scatta regolarmente. In questo caso infatti, il codice viene eseguito nel thread del timer. Probabilmente il modo più pulito di fare quello che dici, sarebbe riuscire ad agganciarsi a qualche evento, ma non saprei indirizzarti in maniera precisa.

us01739 Profilo | Expert

> questa operazione avviene in un thread diverso da quello che gestisce l'interfaccia grafica > e comunque questo è il modo esatto per fare quello esposto sopra?

Se non lo indichi esplicitamente, il thread sia sempre quello anche nel caso del timer...almeno credo , ma è meglio se aspettiamo qualche risposta da chi ne sà di più....

Bye Bye

---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------

bule Profilo | Junior Member

grazie mille per la velocità nella risposta...

quindi secondo voi usando il semplice wintimer posso fare delle operazione magari anche pesanti dal punto di vista computazionali senza rischiare di compromettere la "responsivness" ( scusate ma non mi viene in mente in italiano...maledetto inglese) dell'interfaccià grafica?

la soluzione col backgroundworker dovrebbe essere sicuramente esente da questo problema ma non sò quanto pulita sia che ne dite?

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5