码迷,mamicode.com
首页 > 其他好文 > 详细

生产者消费者demo

时间:2021-06-16 18:05:33      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:str   sleep   ons   cti   bool   system   gen   OLE   false   

using System;
using System.Collections.Generic;
using System.Threading;

namespace 生产者消费者
{
    class Program
    {
        static int r;
        static Queue<int> q = new Queue<int>();
        static Object obj;
        static int c = 0;
        static void Main(string[] args)
        {

            obj = new Object();
            var _worker = new Thread(生产);
            _worker.Start();
            //var _worker2 = new Thread(生产);
            //_worker2.Start();
            var 消费者1 = new Thread(消费者);
            消费者1.Start();
            var 消费者2 = new Thread(消费者);
            消费者2.Start();
            var 消费者3 = new Thread(消费者);
            消费者3.Start();
            var 消费者4 = new Thread(消费者);
            消费者4.Start();
            var 消费者5 = new Thread(消费者);
            消费者5.Start();
            Console.ReadKey();
            Console.WriteLine("f:" + c);
            Console.ReadKey();
        }

        private static void 消费者()
        {

            while (true)
            {
                bool stat = false;
                lock (obj)
                {
                    stat = q.TryDequeue(out r);
                    if (stat)
                    {
                        c++;
                        Console.WriteLine(q.Count+":"+r);
                    }

                }
                if (stat == false)
                {
                    Thread.Sleep(100);
                }


            }
        }

        private static void 生产()
        {
            for (int i = 1; i <= 10000 / 2; i++)
            {

                lock (obj)
                {

                    q.Enqueue(i);
                }
            }
        }
    }
}

  

生产者消费者demo

标签:str   sleep   ons   cti   bool   system   gen   OLE   false   

原文地址:https://www.cnblogs.com/supersdar/p/14888282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!