public long JugarN(List <byte> jugadas, long cantDeJugadas, Bolillero bolillero) { long ganadas = 0; for (long ind = 0; ind < cantDeJugadas; ind++) { if (this.Jugar(jugadas)) { ganadas++; } } return(ganadas); }
public long simularConHilos(List <byte> jugadas, long cantJugar, int cantHilos, Bolillero bolillero) { var vectorTerea = new Task <long> [cantHilos]; long resto = cantJugar % cantHilos; for (int i = 0; i < cantHilos; i++) { Bolillero clon = (Bolillero)bolillero.Clone(); vectorTerea[i] = Task.Run(() => JugarN(jugadas, cantJugar / cantHilos, clon)); } for (int ind2 = cantHilos; ind2 >= 1; ind2--) { } Bolillero otroClon = (Bolillero)bolillero.Clone(); vectorTerea[0] = Task.Run(() => JugarN(jugadas, cantJugar / cantHilos + resto, otroClon)); Task.WaitAll(vectorTerea); return(vectorTerea.Sum(T => T.Result)); }
public long simularSinHilos(List <byte> jugadas, long cantDeJugadas, Bolillero bolillero) { return(JugarN(jugadas, cantDeJugadas, bolillero)); }
//public List<long> jugarNveces { get; set; } //Task<long>[] tarea = new Task<long>[10]; public Simulacion(byte inicio, byte fin) { bolillero = new Bolillero(inicio, fin); }