多线程文件写入

Ice*_*ind 3 .net c# multithreading file

我试图使用多个线程写入大文件的不同部分,就像分段文件下载器一样.

我的问题是,这样做的安全方法是什么?我是否打开文件进行编写,创建我的线程,将Stream对象传递给每个线程?我不希望发生错误,因为多个线程可能同时访问同一个对象.

这是C#的方式.

Jon*_*eet 14

我个人建议你在多个线程中获取数据,但实际上是从一个线程写入它.这种方式可能会相当简单.您可以使用生产者/消费者队列(在.NET 4中非常容易),然后每个生产者都会提供"索引,数据"对.然后,消费者线程可以依次寻找,写入,搜索,写入等.