/// <summary>
        /// Calcular el número de veces que el valor del Bitcoin está por encima (es >) de un valor dado,
        /// usando x hilos, mediante un Master-worker.
        /// </summary>
        /// <param name="data">Array de elementos de tipo BitcoinValueData.</param>
        /// <param name="numHilos">Número de hilos = número de workers</param>
        /// <param name="valorFrontera">Valor a partir del cuál se quiere saber cuantas veces el valor del Bitcoin es mayor o igual.</param>
        /// <returns>Número de veces que el valor del Bitcoin está por encima (es >) del valor dado.</returns>
        private static uint CalcularBitcoinNumValoresPorEncimaConXHilos(BitcoinValueData[] data, int numHilos,
                                                                        double valorFrontera)
        {
            // Se crea el Master
            var master = new MasterBitcoinNumValoresPorEncima(data, numHilos, valorFrontera);

            // Se lanza la ejecución
            uint resultado = master.Calcular();

            // Se retorna el resultado
            return(resultado);
        }
Example #2
0
        /// <summary>
        /// Calcular el número de veces que el valor del Bitcoin está por encima (es >) de un valor dado,
        /// usando x hilos, mediante un Master-worker.
        /// </summary>
        /// <param name="data">Array de elementos de tipo BitcoinValueData.</param>
        /// <param name="numHilos">Número de hilos = número de workers</param>
        /// <param name="valorFrontera">Valor a partir del cuál se quiere saber cuantas veces el valor del Bitcoin es mayor o igual.</param>
        /// <returns>Número de veces que el valor del Bitcoin está por encima (es >) del valor dado.</returns>
        private static uint CalcularBitcoinNumValoresPorEncimaConXHilos(BitcoinValueData[] data, int numHilos,
                                                                        double valorFrontera)
        {
            // Se crea el Master
            var master = new MasterBitcoinNumValoresPorEncima(data, numHilos, valorFrontera);

            // Se lanza y se calcula el tiempo que tarda
            DateTime antes     = DateTime.Now;
            uint     resultado = master.Calcular();
            DateTime despues   = DateTime.Now;

            // Se muestra el resultado y el tiempo que ha tardado
            Console.WriteLine(
                "Número de veces que el valor del Bitcoin está por encima (es >) de {0} con {1} hilo(s): {2:N2}.",
                valorFrontera, numHilos, resultado);
            Console.WriteLine("Tiempo transcurrido: {0:N0} ticks de reloj.",
                              (despues - antes).Ticks);

            // Se retorna el resultado
            return(resultado);
        }