发送/接收异步:是否保证呼叫顺序?

时间:2015-02-26 09:39:37

标签: c# asyncsocket

我在C ++中用IOCP知道当你在socket上发出很少的异步读/写时,即使在完成端口上执行它们的顺序是有序的,因为调度工作者/处理线程可能会接受它们来处理它们(例如,第二次读/写第一次和第一次读后)。这是C#和Send / ReceiveAsync的情况吗?我无法在msdn上找到关于此的任何信息。

感谢。

1 个答案:

答案 0 :(得分:2)

是。想象一下两个.NET线程运行两个完成回调。操作系统现在可以在任何时间内在第一条指令之前暂停任何一个操作系统。仅针对这种现象,您可以永远依赖于并发IO的回调调用顺序。

如果您想要订购,您需要自己对处理进行排序。