每项工作是:
1.打开文件以供只读使用
2.处理文件中的数据
3.将处理后的数据写入字典
我们想在新线程上执行每个文件的工作?
这是可能的,我们应该更好地使用ThreadPool或生成新线程,记住每个“工作”项只需要30ms,但可能需要处理数百个文件.
任何提高效率的想法都值得赞赏.
编辑:目前我们正在利用ThreadPool来处理这个问题.如果我们有500个要处理的文件,我们循环访问文件并使用QueueUserWorkItem将每个“处理工作单元”分配给线程池.
是否适合使用线程池?
解决方法 我建议你使用ThreadPool.QueueUserWorkItem(…),在这里,线程由系统和.net框架管理.您与自己的线程池进行网格划分的可能性要高得多.所以我建议你使用.net提供的Threadpool.它非常容易使用,
ThreadPool.QueueUserWorkItem(new WaitCallback(YourMethod),ParameterToBeUsedByMethod);
YourMethod(对象o){
你的代码在这里……
}
欲了解更多信息,请点击链接http://msdn.microsoft.com/en-us/library/3dasc8as%28VS.80%29.aspx
希望这可以帮助
总结以上是内存溢出为你收集整理的C#多线程文件IO(读取)全部内容,希望文章能够帮你解决C#多线程文件IO(读取)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)