public async Task <bool> Eat()
        {
            //Console.WriteLine(Name + " Requested");
            await Waiter.Request(this);

            LeftFork.Take();
            //Console.WriteLine(Name + " picked up left");
            RightFork.Take();
            //EventManager.Broadcast("Eating");
            //Console.WriteLine(Name + " picked up right");
            Console.WriteLine(Name + " began eating");
            Thread.Sleep(NextEatTime);
            Console.WriteLine(Name + " finished eating");
            LeftFork.Release();
            //Console.WriteLine(Name + " put down left");
            RightFork.Release();
            //Console.WriteLine(Name + " put down right");
            EventManager.Broadcast("Finished", Name);
            return(true);
        }
Beispiel #2
0
 private void PutDownRight()
 {
     RightFork.Release();
 }