public object Clone() { Bolillero clon = new Bolillero(); clon.bolillasAdentro = new List <int>(this.bolillasAdentro); clon.bolillasAfuera = new List <int>(this.bolillasAfuera); return(clon); }
public void simularConHilos(int cantidadHilos) { List <Task <long> > hilos = new List <Task <long> >(); //List<Bolillero> bolillero = new List<Bolillero>(); long cantPorHilo = CantidadSimulaciones / cantidadHilos; for (int i = 0; i < cantidadHilos; i++) { Bolillero bolilleroClon = (Bolillero)Bolillero.Clone(); Task <long> tarea = new Task <long>(() => bolilleroClon.jugar(jugada, CantidadSimulaciones)); hilos.Add(tarea); } hilos.ForEach(hilo => hilo.Start()); while (!hilos.TrueForAll(hilo => hilo.IsCompleted)) { ; } this.CantidadAciertos = 0; hilos.ForEach(hilo => CantidadAciertos += hilo.Result); }
public void simularSinHilos() { CantidadAciertos = Bolillero.jugar(jugada, CantidadSimulaciones); }