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