public object Clone() { Bolillero_ clon = new Bolillero_(); clon.bolillasD = new List <byte>(this.bolillasD); clon.bolillasA = new List <byte>(this.bolillasA); return(clon); }
public void simularConHilos(List <byte> jugada, long simu, int cantidadHilos) { List <Task <ulong> > hilos = new List <Task <ulong> >(); //List<Bolillero> bolillero = new List<Bolillero>(); ulong cantidadPorHilo = this.cantidadSimulaciones / (ulong)cantidadHilos; for (int i = 0; i < cantidadHilos; i++) { Bolillero_ bolilleroClon = (Bolillero_)Bolillero.Clone(); Task <ulong> tarea = new Task <ulong>(() => bolilleroClon.jugarSimu(jugada, simu)); hilos.Add(tarea); } hilos.ForEach(hilo => hilo.Start()); while (!hilos.TrueForAll(hilo => hilo.IsCompleted)) { ; } this.cantidadAciertos = 0; hilos.ForEach(hilo => cantidadAciertos += hilo.Result); }