Example #1
0
        public void llamadoDeFuncionMenosDe4(ArrayList listaPalabras)
        {
            listaDeTodosLosResultadosParalelo.Clear();

            Globales global           = new Globales();
            int      cantidadPalabras = listaPalabras.Count;

            Console.WriteLine("LARGO DE LA LISTA DESDE FUNION<3" + cantidadPalabras);

            string palabraBuscar1 = "";
            string palabraBuscar2 = "";
            string palabraBuscar3 = "";
            string palabraBuscar4 = "";

            ArrayList lista2 = global.retornarLista();

            Paralelo llamarFuncionParalela = new Paralelo();



            if (cantidadPalabras == 1)
            {
                var process = System.Diagnostics.Process.GetCurrentProcess();
                process.ProcessorAffinity = new IntPtr(0x0001);

                int cont = 0;
                foreach (String var in listaPalabras)
                {
                    if (cont == 0)
                    {
                        palabraBuscar1 = var;
                        Console.WriteLine("Palabra: " + palabraBuscar1);
                    }
                    cont = cont + 1;
                }

                Parallel.Invoke(() =>
                {
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar1);
                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                });
            }
            else if (cantidadPalabras == 2)
            {
                var process = System.Diagnostics.Process.GetCurrentProcess();
                process.ProcessorAffinity = new IntPtr(0x0003);

                int cont = 0;
                foreach (String var in listaPalabras)
                {
                    if (cont == 0)
                    {
                        palabraBuscar1 = var;
                    }

                    else if (cont == 1)
                    {
                        palabraBuscar2 = var;
                    }

                    cont = cont + 1;
                }

                Parallel.Invoke(() =>
                {
                    Console.WriteLine("1");
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar1);
                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                },

                                () =>
                {
                    Console.WriteLine("2");
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar2);

                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                });
            }

            else if (cantidadPalabras == 3)

            {
                var process = System.Diagnostics.Process.GetCurrentProcess();
                process.ProcessorAffinity = new IntPtr(0x0007);

                int cont = 0;
                foreach (String var in listaPalabras)
                {
                    if (cont == 0)
                    {
                        palabraBuscar1 = var;
                    }

                    else if (cont == 1)
                    {
                        palabraBuscar2 = var;
                    }
                    else if (cont == 2)
                    {
                        palabraBuscar3 = var;
                    }

                    cont = cont + 1;
                }

                Parallel.Invoke(() =>
                {
                    Console.WriteLine("1");
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar1);
                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                },



                                () =>
                {
                    Console.WriteLine("1");
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar3);
                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                },


                                () =>
                {
                    Console.WriteLine("2");
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar2);

                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                });
            }

            else
            {
                var process = System.Diagnostics.Process.GetCurrentProcess();
                process.ProcessorAffinity = new IntPtr(0x0009);


                int cont = 0;
                foreach (String var in listaPalabras)
                {
                    if (cont == 0)
                    {
                        palabraBuscar1 = var;
                    }

                    else if (cont == 1)
                    {
                        palabraBuscar2 = var;
                    }
                    else if (cont == 2)
                    {
                        palabraBuscar3 = var;
                    }

                    else if (cont == 3)
                    {
                        palabraBuscar4 = var;
                    }

                    cont = cont + 1;
                }

                Parallel.Invoke(() =>
                {
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar1);
                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                },

                                () =>

                {
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar2);
                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                },

                                () =>

                {
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar3);
                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                },

                                () =>

                {
                    listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar4);
                    agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
                });
            }
        }
Example #2
0
        public void recursivoLlamado(ArrayList listaPalabras)

        {
            listaDeTodasLasPalabras.Clear();

            foreach (String var in listaPalabras)
            {
                listaDeTodasLasPalabras.Add(var);
            }


            listaTemporal.Clear();
            listaTempora2.Clear();



            listaTemporal.Clear();
            Console.WriteLine("busqueda RECURSIVA");

            int cont = 0;

            Console.WriteLine("largo de lista palabras..............." + listaDeTodasLasPalabras.Count);

            foreach (string palabra in listaDeTodasLasPalabras)
            {
                if (cont > 3)
                {
                    listaTempora2.Add(palabra);
                }
                listaTemporal.Add(palabra);

                cont = cont + 1;
            }



            Console.WriteLine("aaaaaa2222: " + listaTempora2.Count);

            string palabraBuscar1 = "";
            string palabraBuscar2 = "";
            string palabraBuscar3 = "";
            string palabraBuscar4 = "";


            Globales  global = new Globales();
            ArrayList lista2 = global.retornarLista();

            Paralelo llamarFuncionParalela = new Paralelo();



            var process = System.Diagnostics.Process.GetCurrentProcess();

            process.ProcessorAffinity = new IntPtr(0x0009);



            int cont2 = 0;

            foreach (String var in listaTemporal)
            {
                if (cont2 == 0)
                {
                    palabraBuscar1 = var;
                }

                else if (cont2 == 1)
                {
                    palabraBuscar2 = var;
                }
                else if (cont2 == 2)
                {
                    palabraBuscar3 = var;
                }

                else if (cont2 == 3)
                {
                    palabraBuscar4 = var;
                }

                cont2 = cont2 + 1;
            }

            Parallel.Invoke(() =>
            {
                listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar1);
                agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
            },

                            () =>

            {
                listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar2);
                agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
            },

                            () =>

            {
                listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar3);
                agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
            },

                            () =>

            {
                listaDeTodosLosResultadosParalelo = llamarFuncionParalela.recorrerListaDeFormaParalela(lista2, palabraBuscar4);
                agregarElementoAListaimprimir(listaDeTodosLosResultadosParalelo);
            });

            Console.WriteLine("largo de lista temporal: " + listaTempora2.Count);

            int contP = 0;

            foreach (string var in listaDeTodasLasPalabras)
            {
                Console.WriteLine(contP + "  " + var);
                contP = contP + 1;
            }


            if (listaTempora2.Count > 4)
            {
                intermediario(listaTempora2);
            }
            else
            {
                llamadoDeFuncionMenosDe4(listaTempora2);
            }
        }