标签: c# stream
我有一个正在被一个线程读取的流,同时将数据从另一个线程写入流中。
问题是读取线程立即退出,因为它认为流中没有更多数据。
答案 0 :(得分:1)
您可以使用BlockingCollection来表示从一个线程到另一个线程的信息管道。生成线程将数据(在本例中为字节或字节块)写入集合,而另一个线程读取该数据。 BlockingCollection类将处理所有需要的同步。
BlockingCollection
然后你有一个单独的功能,可以将收集标记为"已完成"表示不会再写信息。