如何确定事件处理程序';s线程

本文关键字:线程 何确定 事件处理 程序 | 更新日期: 2023-09-27 17:57:57

我有一个事件,它通常是异步引发的,如下所示:

foreach (EventHandler eventHandler in Event.GetInvocationList())
{
   eventHandler.BeginInvoke(sender, e, EndRaiseEvent, eventHandler);
}

现在,可能还有一些侦听器与引发事件的侦听器在同一个线程上,在这种情况下,我希望同步引发事件(没有BeginInvoke),但我如何区分InvocationList中的侦听器?

如何确定事件处理程序';s线程

你不需要。其他侦听器在"不同的线程"上运行没有任何意义。当一个事件被引发时,如果你已经注册到它,那么它在哪个线程上引发并不重要,你会被调用。