Пример #1
0
        public object Clone()
        {
            Bolillero_ clon = new Bolillero_();

            clon.bolillasD = new List <byte>(this.bolillasD);
            clon.bolillasA = new List <byte>(this.bolillasA);

            return(clon);
        }
Пример #2
0
        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);
        }