登录
首页 » 其他项目 » CoStream 无缓存 Pipe Stream

CoStream 无缓存 Pipe Stream

于 2022-03-17 发布 文件大小:5.32 kB
0 116
下载积分: 2 下载次数: 1

代码说明:

翻译 maninwest@Codeforge 作者:Sergey Nozhenko@CodeProject介绍:CoStream 是的 PipeStream 无缓存替代选择。背景在生产者/消费者模式下,如果我们知道一个消费者确定要读取stream 读到结束或者如果不能读到结束就处理,那么同步stream 就不需要维护自己的内部缓存,完全依赖于 Read 方法调用者的缓存。在Read 方法中,CoStream 保存到目标缓存的引用并等待,直至完成。而 write 方法从源缓存中复制数据到目标缓存,会给读取者发送信号缓存已准备就绪或者需要等待期 Read 调用(如果来源缓存中有未消耗的数据剩下或者返回到Writer 调用者)。使用代码CoStream 不能在单个话题中使用。应该至少有两个,读取和写入话题。两者都需要关闭(或处理)stream,一边对方可以继续到结束。测试程序在  XmlDocument 中加载了一些 xml 文件。然后将其写入到 CoStream 的实例Static CoStream costream = new TestCoStream(); static string outpath; static void Main(string[] args) { // ... XmlDocument doc = new XmlDocument(); doc.Load(args[0]); outpath = args[1]; var reading_thread = new Thread(ReaderBody); reading_thread.Start(); using (var pipe = XmlWriter.Create(costream, new XmlWriterSettings { CloseOutput = true })) doc.Save(pipe); reading_thre

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 696518资源总数
  • 104269会员总数
  • 42今日下载