public Master(string texto) { string[] lineass = PartirEnLineas(texto); Thread[] hilos = new Thread[5]; Worker[] trabajadores = new Worker[5]; linea = new ColaConcurrente<string>(); Console.WriteLine("Creando trabajadores..."); for (int i = 0; i < lineass.Length; i++) { linea.Añadir(lineass[i]); } for (int i = 0; i < 5; i++) { trabajadores[i] = new Worker(); hilos[i] = new Thread(trabajadores[i].CalcularPalabras); hilos[i].Start(); hilos[i].Join(); } Dictionary<String, int> diccionario = new Dictionary<string, int>(); Console.WriteLine("Juntando resultados..."); foreach (Worker trabajador in trabajadores) { foreach (KeyValuePair<String, int> par in trabajador.diccionario) { int valor; if (diccionario.TryGetValue(par.Key, out valor)) { diccionario[par.Key] = valor + par.Value; } else { diccionario.Add(par.Key, par.Value); } } } foreach (KeyValuePair<String, int> par in diccionario) { Console.WriteLine(par); } }
public void Inicializacion() { cola = new ColaConcurrente<int>(); }