2013-11-23 46 views
0

我正在使用库(在C#中,与单声道3.0),它使用一个流序列化数据,但同步。我想建立一个异步网络库,通过给串行器一个内存流,然后将这个流异步发送到网络流。内存流上的异步操作Revelency

我的问题是,是否可以在内存流上使用同步方法,因为不应该涉及I/O操作?

+0

从下面的评论,它似乎会做很多好事,如果你改正你的问题,并添加一些代码示例。就目前来看,问题是我的答案是肯定的一个简单的是/否问题。现在,您需要更好地解释执行NetworkStream,MemoryStream,Synchronous和Asynchronous操作的实际代码。你甚至可以绘制一个粗略的图表并粘贴它的链接。 – inquisitive

回答

0

是的,完全可以对内存流进行异步调用,或者对一般的IO或CPU绑定活动进行异步调用。

引用MSDN

...一个程序可以调用的方法,其中列举了大名单,而主程序继续执行...

只要确保不两个线程开始访问内存流并行

+0

感谢您的回答,但我询问是否可以通过MemoryStream上的调用替换NetworkStream上的多个I/O调用,然后异步调用NetworkStream,以便不必修改代码库使用同步方法,但给它一个MemoryStream代替NetworkStream。 – Sigh59