ren*_*ren 5 .net c# events multithreading event-handling
假设我有:
ethernet_adapter.PacketArrived += (s, e) =>
{
//long processing...
};
Run Code Online (Sandbox Code Playgroud)
处理可能需要很长时间,而当它处于中间时,另一个数据包已到达.接下来会发生什么:处理完成然后触发另一个事件,或者可能在新线程上立即触发新事件?
你不应该假设。它可以是任何内容,具体取决于(ethernet_adapter对象)类型引发事件的方式。
如果是同步操作,则直到当前操作正在进行时才会引发新事件。
如果是异步操作,新事件将立即引发。
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |