using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
class Print
{
public void printNumbers()
{
Monitor.Enter(this);
try
{
for (int i = 0; i < 10; i++)
{
Console.Write("{0}\t", i);
}
Console.WriteLine();
}
finally
{
Monitor.Exit(this);
}
}
}
class Program
{
static void Main(string[] args)
{
Print p = new Print();
WaitCallback workitem = new WaitCallback(printTheNumbers);
for (int i = 0; i < 10; i++)
{
ThreadPool.QueueUserWorkItem(workitem, p);
}
Console.Read();
}
static void printTheNumbers(object state)
{
Print p = (Print)state;
p.printNumbers();
}
}
}