The Parallel ForEach feature of .Net 4.0 makes threading even easier. There is no reason to not try to take advantage of today’s multi-core hardware. Thread synchronization aside, here’s a very simple sample:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ThreadingSamples { class Program { static void Main(string[] args) { List<int> numbers = new List<int>(); for (int i = 0; i < 100; i++) numbers.Add(i); Parallel.ForEach(numbers, number => { Console.WriteLine(number); } ); } } }