Każda z tych klas przy użyciu pozwala Ci na zdefiniowanie metody, która ma być wykonana w nowym wątku/zadaniu. Na początek polecam klasę Thread.
W Twoim przypadku, musisz jeszcze dodać coś, co poczeka na wykonanie oddzielnego wątku (AutoResetEvent, ManualResetEvent).
Taki przykład na przykład:
using System;
using System.Threading;
namespace ConsoleApplication3
{
class Program
{
private static void cos()
{
// rób to co ma być wykonane w wątku
Console.Write("Hello World");
//sygnalizujemy, że wątek zrobił swoje
resetEvent.Set();
}
private static AutoResetEvent resetEvent;
private static void Main(string[] args)
{
resetEvent = new AutoResetEvent(false);
// startujemy prosty wątek
new Thread(new ThreadStart(cos));
// Będę tu stał i czekał (na poniższej metodzie), dopóki w metodzie cos nie wykona się resetEvent.Set().
resetEvent.WaitOne();
// reszta kodu
}
}
}