Пример #1
0
        public override void Main()
        {
            ProcessName = "ThreadPool";
            _values     = new List <string>();
            DisplayProcess();

            GetFilmItems();
            SetItemCount();


            var doneEvents = new ManualResetEvent[FilmItems.Count];

            ThreadPool.SetMinThreads(1, 1);

            for (ushort i = 1; i <= Pages; i++)
            {
                doneEvents[i] = new ManualResetEvent(false);
                var tpw = new ThreadPoolWork(Property, doneEvents[i]);
                ThreadPool.QueueUserWorkItem(tpw.ThreadPoolCallBack, FilmItems[i]);
                Thread.Sleep(10);


                //ClassWorker worker = new ClassWorker(_args, FilmItems, i) { };
                //Thread thread = new Thread(new ThreadStart(worker.DoWork));
                //threads.Add(thread);
                //thread.Start();
                //Thread.Sleep(10);
            }

            WaitHandle.WaitAll(doneEvents);
        }
Пример #2
0
        public override void Main()
        {
            ProcessName = "ThreadPool";
            var filmItems  = GetRestItemsFilm();
            var doneEvents = new ManualResetEvent[filmItems.Count];

            ThreadPool.SetMinThreads(1, 1);

            for (int i = 0; i < filmItems.Count; i++)
            {
                doneEvents[i] = new ManualResetEvent(false);
                var tpw = new ThreadPoolWork(Program.Property, doneEvents[i]);
                ThreadPool.QueueUserWorkItem(tpw.ThreadPoolCallBack, filmItems[i]);
                Thread.Sleep(10);
            }

            WaitHandle.WaitAll(doneEvents);
        }