protected override double computeNetAssetValue(IList <string> tickers)
        {
            double netAssetValue = 0.0;

            foreach (string ticker in tickers)
            {
                netAssetValue += 1000 * SinaFinanceHelper.GetCurrentStockPrice(ticker);
            }
            return(netAssetValue);
        }
Exemple #2
0
        protected override double computeNetAssetValue(IList <string> tickers)
        {
            TaskFactory factory = new TaskFactory(new LimitedConcurrencyLevelTaskScheduler(this.threadPoolSize));
            var         tasks   = new List <Task <double> >(2000);

            foreach (var ticker in tickers)
            {
                tasks.Add(factory.StartNew(
                              () => 1000 * SinaFinanceHelper.GetCurrentStockPrice(ticker)));
            }

            return(Task.WhenAll(tasks).Result.Sum());
        }