コード例 #1
0
ファイル: BoundedBuffer.cs プロジェクト: arunt1204/coyote-rl
 public static void Reader(BoundedBuffer buffer)
 {
     for (int i = 0; i < 10; i++)
     {
         buffer.Take();
     }
 }
コード例 #2
0
ファイル: BoundedBuffer.cs プロジェクト: arunt1204/coyote-rl
 public static void Writer(BoundedBuffer buffer)
 {
     for (int i = 0; i < 20; i++)
     {
         buffer.Put("hello " + i);
     }
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: arunt1204/coyote-rl
        public static void Test_BoundedBuffer()
        {
            BoundedBuffer buffer = new BoundedBuffer(false);
            var           tasks  = new List <Task>
            {
                Task.Run(() => BoundedBuffer.Reader(buffer)),
                Task.Run(() => BoundedBuffer.Reader(buffer)),
                Task.Run(() => BoundedBuffer.Writer(buffer))
            };

            Task.WaitAll(tasks.ToArray());
        }