Seems this should give you the basics to create a thread method to write your file, then kick it off to create a seperate thread for each file passing what it needs in the object param. But, I think since your operation involved IO to physical disk, you may just run into a limitation based on the drives ability to handle write requests anyhow... ? Just a thought... good luck!
From msdn...
using System
using System.Threading
public class Work
{
public static void Main()
{
Thread newThread = new Thread(Work.DoWork)
newThread.Start(42)
Work w = new Work()
newThread = new Thread(w.DoMoreWork)
newThread.Start("The answer.")
}
public static void DoWork(object data)
{
Console.WriteLine("Static thread procedure. Data='{0}'",
data)
}
public void DoMoreWork(object data)
{
Console.WriteLine("Instance thread procedure. Data='{0}'",
data)
}
}