代码之家  ›  专栏  ›  技术社区  ›  mcjabberz

按接收到的相同顺序运行异步IO线程以完成

  •  0
  • mcjabberz  · 技术社区  · 16 年前

    对不起,我对这些多线程的东西很陌生…

    我正在开发一个客户端/服务器应用程序,我将使用 System.Net.Sockets.NetworkStream 的异步IO方法。

    我知道打过电话后 BeginRead ,系统将在每次收到数据时开始调用我的回调。回调可能需要很长时间才能完成,但它需要在任何其他线程运行此回调之前完成。

    如果我只是将回调方法标记为已同步,那么这是否足以确保每个回调线程按照系统接收数据的顺序运行到完成?

    如果不是,什么同步工具最好?(例如) Monitor S WaitHandle S Semaphore S?等

    编辑:这在Win Server 2008上的VB 2008中

    1 回复  |  直到 16 年前
        1
  •  1
  •   John Saunders    16 年前

    每个开头匹配一个结尾。如果你想读更多,你必须在回调中再次调用beginread。


    顺便说一句,插座的水平很低。您确定不能使用wcf进行此操作吗?