private static void Demo3()
{
int numThreads = 7;
object synch = new object();
List <Multi> multis = new List <Multi>();
Monitor.Enter(synch);
for (int i = 0; i < numThreads; i++)
{
Multi m = new Multi(synch, i + 1);
multis.Add(m);
m.Start();
}
Thread.Sleep(2000);
Monitor.Exit(synch);
for (int i = 0; i < numThreads; i++)
{
multis[i].Thread.Join();
}
}