各位大侠请看这两段代码:
(1)
static void Main(string[] args)
        {
            RegWait oR = new RegWait();
            AutoResetEvent arev = new AutoResetEvent(false);
            ThreadPool.RegisterWaitForSingleObject(arev, new WaitOrTimerCallback(RegWait.workitem), null, 2000, false);
            arev.Reset();  //这是重点
            Console.Read();
        }(2)
static void Main(string[] args)
        {
            RegWait oR = new RegWait();
            AutoResetEvent arev = new AutoResetEvent(false);
            ThreadPool.RegisterWaitForSingleObject(arev, new WaitOrTimerCallback(RegWait.workitem), null, 2000, false);
            //arev.Reset();  //把这句注销后,执行的结果仍于(1)相同
            Console.Read();
        }
为代码的完整性,
这是
class RegWait
    {
        private static int i = 0;
        public static void workitem(object o, bool signaled)
        {
            i += 1;
            Console.WriteLine("The Thread pool is invoked " + i.ToString());
        }
     }
的代码。问题:
是否该RegisterWaitForSingleObject()函数只要超时的时间到,就会自动执行,而与arev关系不大?
谢谢!