当前位置:编程学习 > C#/ASP.NET >>

C#线程池创建多线程异步调用回调函数,回调函数没有执行【附源码】

回调函数send没有执行,没有输出i。
private ManualResetEvent[] manualEvents= new ManualResetEvent[6];
public void madeTimer()  
        {madeThreads(this);
}

private void madeThreads(object m)
        {for (int i = 0; i < 6; i++)
                        {                            manualEvents[i] = new ManualResetEvent(false);                            ThreadPool.QueueUserWorkItem(new WaitCallback(send), i);                      
                        }
                        WaitHandle.WaitAll(manualEvents);  //等待所有线程池执行完成
}

private void send(object igid)
        {int i =(int)igid;
Console.WriteLine("任务:" + i.ToString());
manualEvents[i].Set();
} 线程池 多线程 异步 object c# --------------------编程问答-------------------- 刚在unitTest下试了下楼主代码,可以正常输出啊。你是不是调用madeTimer的方法有问题? --------------------编程问答-------------------- 晕死了,不知道是不是因为同时装了vs2008和vs2010 --------------------编程问答-------------------- 我在send方法里面,用lock锁定了输出的代码,所以没有执行,不知道其中原因
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,