假设我有一个delegate
,它引用bar
个方法。当我像这个someDelegate(someParameter);
或类似someDelegate.Invoke(someParameter);
一样调用委托时,这个委托引用的方法实际上是一个接一个地同步调用的,对吧?有没有办法让这个调用异步?
答案 0 :(得分:3)
您可以使用BeginInvoke
代替Invoke
。这将异步调用所有单个代表 - 但仍然是连续的。 (然后,您应该在传入EndInvoke
的回调中致电BeginInvoke
。有关详细信息,请参阅MSDN。)
如果你想在 parallel 中调用代理,可以使用MulticastDelegate.GetInvocationList
单独获取它们,然后使用Parallel.Invoke
来调用它们。