static void Main() { LimitedConcurrencyLevelTaskScheduler lcts = new LimitedConcurrencyLevelTaskScheduler(1); TaskFactory factory = new TaskFactory(lcts); factory.StartNew(() => { for (int i = 0; i < 500; i++) { Console.Write("{0} on thread {1}", i, Thread.CurrentThread.ManagedThreadId); } } ); Console.ReadKey(); }
static AsyncFunctions() { // This initialization could be lazy (and of course be any other TaskScheduler) var fourThreadScheduler = new LimitedConcurrencyLevelTaskScheduler(4); _fourThreadFactory = new TaskFactory(fourThreadScheduler); }