Example #1
0
 public void Run()
 {
     for (int i = 0; i < _howMany; i++)
     {
         _buffer.Put(i);
         Console.WriteLine("Put: " + i);
     }
 }
        public void Run()
        {
            int temp;

            do
            {
                temp = _bufferIn.Take();
                _bufferOut.Put(temp);
            } while (temp != -1);
        }
Example #3
0
 static void ProducerBoundedBuffer()
 {
     Console.WriteLine("Producer starts!");
     for (int i = 0; i < 100; i++)
     {
         Thread.Sleep(300);
         Random rnd    = new Random();
         int    number = rnd.Next(1, 100);
         bb.Put(number);
         Console.WriteLine("Put: " + number);
     }
 }
Example #4
0
        public void Run()
        {
            //int i = 0;
            //while (i <= _production)
            //{
            //    if (_buffer.IsFull())
            //    {
            //        //vent til der er plads
            //    }
            //    else
            //    {
            //        _buffer.Put(i);
            //        //Console.WriteLine("Producer: Put {0}", i);
            //        i++;
            //    }

            for (int k = 0; k < _production; k++)
            {
                _buffer.Put(k);
            }
            _buffer.Put(-1);
        }
Example #5
0
        public void Run()
        {
            int i = 0;

            buf.InQueue = HowMany;
            while (i < HowMany)
            {
                int tempI = i;
                lock (buf)
                    if (!buf.IsFull())
                    {
                        {
                            var rnd    = new Random();
                            int number = rnd.Next(1, 1000);
                            buf.Put(number);
                            Console.WriteLine("Line added");
                            i = tempI + 1;
                        }
                    }
            }
            Console.WriteLine("Producer Done");
        }