using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

class Demo {
   public void one(object o) {
      for (int i = 0; i <= 3; i++) {
         Console.WriteLine("One executed");
      }
   }

   public void two(object o) {
      for (int i = 0; i <= 3; i++) {
         Console.WriteLine("Two executed");
      }
   }

   public void three(object o) {
      for (int i = 0; i <= 3; i++) {
         Console.WriteLine("Three executed");
      }
   }

   static void Main() {
      Demo d = new Demo();

      for (int i = 0; i < 3; i++) {
         ThreadPool.QueueUserWorkItem(new WaitCallback(d.one));
         ThreadPool.QueueUserWorkItem(new WaitCallback(d.two));
         ThreadPool.QueueUserWorkItem(new WaitCallback(d.three));
      }

      Console.Read();
   }
}