日期:2014-05-20 浏览次数:21198 次
void ProduceOneA()
{
while (Interlocked.Read(ref bRun) == 1)
{
try
{
ProduceHandler.waitone();
Console.WriteLine("生产一个");
ConsumeHandler.set();
}
finally
{
Thread.Sleep(1000);
}
}
}
void ConsumeOneA()
{
while (Interlocked.Read(ref bRun) == 1)
{
try
{ ConsumeHandler.waitone();
Console.WriteLine("消费一个");
ProduceHandler.set();
}
finally
{
Thread.Sleep(1000);
}
}
}
}
private ReaderWriterLock m_RWHandlers = new ReaderWriterLock();
long m_Run = 0;
AutoResetEvent m_ConsumeHandler = new AutoResetEvent(false);
AutoResetEvent m_ProduceHandler = new AutoResetEvent(true);
static void Main(string[] args)
{
Interlocked.Exchange(ref m_Run, 1);
new Thread(new threadstart(ProduceOneA)).Start();
new Thread(new threadstart(ConsumeOneA)).Start();
}