Or, if you would still insist on using Threads for this purpose, you would have to have a shared data structure of some kind and make sure that with multiple threads running and using the same data, you synchronise them properly.
Found this one that explains quite nicely :
C# Worker Thread Starter Kit[
^]
Otherwise, as Mehdi already pointed out,
BackgroundWorker
is a nice handy thing.
Hope this helps
Cheers