我正在开发一个 ASP.NET MVC 应用程序。我想在事件发生时产生几个线程,我不关心线程的返回值,我想进行异步调用,所以我使用 ThreadPool.QueueUserWorkItem ,
public event SomeEventHandler SomeEvent;
private void SomeEventhappened(UserProfile arg)
{
SomeEventHandler handler = SomeEvent;
if (handler != null)
{
// handler(currentUser);
foreach (SomeEventHandler wc in handler.GetInvocationList())
{
SomeEventHandler wc2 = wc;
ThreadPool.QueueUserWorkItem(
delegate { wc2(arg); }
);
}
}
}
我已将事件处理函数附加到事件
这就是我提出事件的方式,
this.SomeEventhappened(userProfile); //Here the event is raised
以上所有代码都发生在同一个类中。只有事件处理函数在其他类中我需要在完成后杀死我的线程吗?如果我做错了什么,请建议我。