You can try Parallel.For :
int nopt = 8; ParallelOptions po = new ParallelOptions() { MaxDegreeOfParallelism = nopt, };
PLinq (Parallel Linq) is an alternative:
Enumerable .Range(1, 8) .AsParallel() .WithDegreeOfParallelism(nopt) .ForAll(i => DoSomething(i));
source share