AutoResetEventによる生産者消費者の実現
3011 ワード
ManulResetEventで生産者消費者を実現し、2つのManulResetEventタイプ変数を宣言し、その実用化は1つでもよい.
AutoResetEventで実現します.AutoとManualの違いは、Autoがスレッドを1つだけ起動し、Manualがすべて起動することです.
AutoResetEventで実現します.AutoとManualの違いは、Autoがスレッドを1つだけ起動し、Manualがすべて起動することです.
public class AreTest
{
AutoResetEvent are;
public AreTest(AutoResetEvent are)
{ this.are = are; }
public void Add()
{
while (true)
{
Thread.Sleep(1000);
Console.WriteLine(Thread.CurrentThread.Name + "\t ");
are.Set();
Console.WriteLine(" ");
are.Reset();
Console.WriteLine(" ");
are.WaitOne();
}
}
public void Del()
{
while (true)
{
Thread.Sleep(2000);
Console.WriteLine(Thread.CurrentThread.Name + "\t ");
are.Set();
Console.WriteLine(" ");
are.Reset();
Console.WriteLine(" ");
are.WaitOne();
}
}
}