Quando si a a che fare con System.Threading.Thread la domanda ricorrente è: "Come faccio a passare dei parametri alla funzione invocata dal Thread?", la risposta è nota, però val la pena notare che nel framework 2.0 oltre al solito delegate ThreadStart è apparso un ParametrizedThreadStart che permette di passare al thread i parametri che ci servono.
Int32
[] values ={ 3, 4, 8 };
ParameterizedThreadStart ps = new ParameterizedThreadStart(ts);
Thread t = new Thread(ps);
t.Start(values);
private void ts(object o)
{
Int32[] values = (Int32[])o;
foreach(Int32 i in values)
{
System.Diagnostics.Debug.WriteLine(i.ToString());
}
}