在Threadpool C#之后代码没有执行

时间:2015-02-14 22:45:51

标签: c# threadpool

我正在尝试运行线程池,并希望获得所有线程的运行时。这是我的代码。我错过了什么吗?

    static void Main(string[] args)
    {

        Console.Write("Enter fund symbol: ");
        String stockSymbol = Console.ReadLine();
        int numberOfFunds = 1;

        String[] fundArray = new String[numberOfFunds];
        ManualResetEvent[] resetEvents = new ManualResetEvent[numberOfFunds];

        var startTime = DateTime.Now;


        for (int s = 0; s < numberOfFunds; s++)
        {

            fundArray[s] = stockSymbol;
            resetEvents[s] = new ManualResetEvent(false);
            ThreadPool.QueueUserWorkItem(new WaitCallback(getStats), (object)fundArray[s]);

        }//END THREADLOOP

        WaitHandle.WaitAll(resetEvents);

        runTime((object)startTime);

        Console.ReadKey();

    }//END MAIN

1 个答案:

答案 0 :(得分:1)

好像你忘了设置resetEvents ...

BTW:我建议继续使用Tasks

进行多线程作品