Пример #1
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Punto 1 - archivo 2");
            int[,] archivo2 = Tarea.obtenerArchivo2();

            Console.WriteLine("Punto 2 ");
            Dictionary <int, int> lista = Tarea.obtenerListaConcatenada();;

            Console.WriteLine("Punto 3 ");
            foreach (KeyValuePair <int, int> par in lista)
            {
                int cociente = Tarea.obtenerCociente(par.Value);
                Console.WriteLine("{0}  :  {1}  :  {2}", par.Key, par.Value, cociente);
            }



            Console.ReadKey();
        }
        public static void Main(string[] args)
        {
            Stop1 = Stopwatch.StartNew();
            Console.WriteLine("Punto 1 - obteniendo archivo 2 ...");
            Task <int[, ]> t1 = Task.Factory.StartNew <int[, ]>(() =>
            {
                return(Tarea.obtenerArchivo2());
            });

            Console.WriteLine("Punto 2 - Obteniendo archivos 1a y 1b ...");
            Task <Dictionary <int, int> > t2 = Task.Factory.StartNew <Dictionary <int, int> >(() =>
            {
                return(Tarea.obtenerArchivo1a());
            });
            Task <Dictionary <int, int> > t3 = Task.Factory.StartNew <Dictionary <int, int> >(() =>
            {
                return(Tarea.obtenerArchivo1b());
            });

            Dictionary <int, int> lista = Tarea.obtenerListaConcatenada(t2.Result, t3.Result);

            Stop1.Stop();
            Console.WriteLine("Punto 3 ");
            Stop2 = Stopwatch.StartNew();
            Parallel.ForEach(lista, i =>
            {
                int cociente = Tarea.obtenerCociente(t1.Result, i.Value);
                Console.WriteLine("{0}  :  {1}  :  {2}", i.Key, i.Value, cociente);
            });

            Stop2.Stop();
            Task.WaitAll(new Task[] { t1, t2, t3 });
            Console.WriteLine("Todas las tareas 1,2,3 paralelas demoraron: {0}", Stop1.ElapsedMilliseconds);
            Console.WriteLine("El paralell.for  demoraro: {0}", Stop1.ElapsedMilliseconds);
            Console.ReadKey();
        }