C# 内存流上异步操作的相关性

C# 内存流上异步操作的相关性,c#,.net,asynchronous,mono,memorystream,C#,.net,Asynchronous,Mono,Memorystream,我正在使用一个库(在C#中,使用Mono3.0),它使用一个流来序列化数据,但是是同步的。我想在上构建一个异步网络库,方法是向序列化程序提供一个内存流,然后异步地将该流发送到网络流 我的问题是,既然不应该涉及I/O操作,那么在内存流上使用同步方法可以吗?是的,对内存流进行异步调用,或者通常对IO或CPU绑定的活动进行异步调用是完全可以的 引用 。。。当主程序继续执行时,程序可以调用枚举大列表的方法 只要确保没有两个线程开始并行访问内存流谢谢你的回答,但我想问的是,我是否可以用MemoryStre

我正在使用一个库(在C#中,使用Mono3.0),它使用一个流来序列化数据,但是是同步的。我想在上构建一个异步网络库,方法是向序列化程序提供一个内存流,然后异步地将该流发送到网络流


我的问题是,既然不应该涉及I/O操作,那么在内存流上使用同步方法可以吗?

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

引用

。。。当主程序继续执行时,程序可以调用枚举大列表的方法


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

谢谢你的回答,但我想问的是,我是否可以用MemoryStream上的调用替换NetworkStream上的多个I/O调用,然后异步调用NetworkStream,这样我就不必修改使用同步方法的代码库,但是给它一个MemoryStream来代替NetworkStream。从下面的评论来看,如果你重写你的问题并添加一些代码示例,似乎会有很多好处。目前的问题是一个简单的是/否问题,我的答案是肯定的。现在,您需要更好地解释执行NetworkStream、MemoryStream、同步和异步操作的实际代码。您甚至可以绘制一个粗略的图表,并将其链接粘贴到此处。