Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            WaitHandle waitHandle = new ManualResetEvent(true);

            NameSplitter nameSplitter = new NameSplitter();

            NameSplitWorker[] workers = new NameSplitWorker[25];
            for(int i = 0; i < workers.Length; i++) {
                workers[i] = new NameSplitWorker("Worker" + i, waitHandle, _names, nameSplitter);
            }

            Console.WriteLine("Press 'q' to quit");

            Thread.Sleep(2000);

            try {
                Array.ForEach(workers, w => w.Start());

                while(Console.ReadKey(true).Key != ConsoleKey.Q) {
                    //spin!
                }

                Array.ForEach(workers, w => w.Stop());

            } catch(Exception ex) {

                Console.WriteLine(ex.Message);
            }
        }
Ejemplo n.º 2
0
 public NameSplitWorker(string name, WaitHandle waitHandle, string[] names, NameSplitter nameSplitter)
     : base(name, waitHandle)
 {
     _names = names;
     _nameSplitter = nameSplitter;
 }