Per il supporto ai Thread ti puoi rifare al namespace .NET System.Threading:
un modo molto semplice per utilizzare thread nella tua applicazione lo puoi implementare utilizzando il controllo presente nella casella degli strumenti standard di Visual Studio 2008, BackGroundWorker, questo controllo dispone di del metodo RunWorkerAsync() che se richiamato esegue in un thread separato dall'applicazione il codice che è stato immesso nella procedura che gestisce l'evento DoWork del BackGroundWorker stesso.
Ad esempio tu trascini il controllo su un form dell'applicazione, poi gestisci l'evento DoWork e metti il codice da eseguire in background:
Per far partire il DoWork però devi chiamare il metodo:
BackgroundWorker1.RunWorkerAsync()
Un metodo un po più complesso ma personalizzato per gestire i thread consiste nell'utilizzare la classe System.Threading.Thread, prima di tutto ti istanzi un oggetto di questa classe, e al costruttore passi un riferimento alla procedura da eseguire in un thread separato, poi richiami il metodo Start() dell'oggetto istanziato che avvia l'esecuzione in background del codice all'interno della procedura passata al costruttore:
'Procedura da eseguire in un thread separato
Public Sub FaiQualcosa
Do
'Ciclo infinito
While True
End SUb
Dim t as New System.Threading.Thread(Address Of FaiQualcosa)
'Avvia l'esecuzione in background
t.Start()
Se hai qualche problema non esitare a chiedere