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); }
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); }