给一个两个线程如何协同工作吧 int i=1;
[STAThread]
static void Main(string[] args)
{
Class1 cl=new Class1(); Thread th=new Thread(new ThreadStart(cl.Disp1));
th.Start();
Thread th1=new Thread(new ThreadStart(cl.Disp2));
th1.Start();
}
private void Disp1()
{
while(i<=20)
{
Monitor.Enter(i);
Console.WriteLine("Disp1:"+(i++));
Monitor.Exit(i);
Thread.Sleep(1000);
}
}
private void Disp2()
{
while(i<=20)
{
Monitor.Enter(i);
Console.WriteLine("Disp2:"+(i++));
Monitor.Exit(i);
Thread.Sleep(1000);
}
}
[STAThread]
static void Main(string[] args)
{
Class1 cl=new Class1(); Thread th=new Thread(new ThreadStart(cl.Disp1));
th.Start();
Thread th1=new Thread(new ThreadStart(cl.Disp2));
th1.Start();
}
private void Disp1()
{
while(i<=20)
{
Monitor.Enter(i);
Console.WriteLine("Disp1:"+(i++));
Monitor.Exit(i);
Thread.Sleep(1000);
}
}
private void Disp2()
{
while(i<=20)
{
Monitor.Enter(i);
Console.WriteLine("Disp2:"+(i++));
Monitor.Exit(i);
Thread.Sleep(1000);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货