Giả sử có một phương thức trong lớp ethernet_adapter
của bạn:
protected virtual void OnPacketArrived(PacketArrivedEventArgs e)
{
EventHandler<PacketArrivedEventArgs> handler = this.PacketArrived;
if (handler != null)
{
handler(this, e);
}
}
chế biến Chừng nào thuê bao đồng bộ (như trong ví dụ của bạn) sẽ chặn liệt kê nội bộ trên tất cả các thuê bao. NHƯNG! Nó có thể không chặn các cuộc gọi tiếp theo tới số OnPacketArrived
nếu số ethernet_adapter
gọi nó theo một chủ đề khác nhau mỗi lần - vì vậy bạn sẽ nhận được hai xử lý dài đồng thời, v.v.
Ví dụ, có một cái nhìn tại thực hiện Socket
: đó là phương pháp async gây callbacks hoàn thành được gọi trên chủ đề IOCP - khác nhau mỗi lần trong khi có bất kỳ trong IO ThreadPool
.
Nguồn
2012-12-26 14:09:41
Loại đối tượng nào là 'ethernet_adapter'? –
@JimMischel là một loại thư viện của bên thứ ba 'ICaptureDevice'. Tôi nghĩ tôi có câu trả lời. – ren