当前位置:编程学习 > C#/ASP.NET >>

基于NET4.0,如何最快的读取文本并进行解析操作?

对一个上百M的txt文件进行一行一行的解析。

对于Task和Parallel还不熟悉,只会简单使用。
Task task = Task.Factory.StartNew(() => ReadText());
开始任务.
然后
Parallel.ForEach(lines, line =>{
//解析操作
};




现在我想实现:打开文件后,开启10个任务或线程,每个任务处理一行数据,然后读取暂停等待,直到有任务完成后,才继续读取下去.
就跟迅雷下载一样,多个文件下载时,一直维持最多5个文件同时进行下载. --------------------编程问答-------------------- 自顶一次~CSDN怎么变得这么冷清了。 --------------------编程问答-------------------- 个人感觉Parallel就是个垃圾,其复杂度还不代表其能工作在多线程下面。我曾尝试用Parallel进行并行处理多个任务,结果发现居然给我卡界面了,于是切换到Task.Factory.StartNew方法上,这个方法是异步的,另外ThreadPool也不错,只是调用方法单一,而Task.Factory.StartNew的参数可以很多种,用起来较为方便。 --------------------编程问答-------------------- ThreadPool比较合适。 --------------------编程问答-------------------- 搜索了一下,都说最好用Task替换ThreadPool,但不会用在foreach里Task新任务和等待什么的。 --------------------编程问答-------------------- 几百MB的txt,,,这个好像很费劲. 没研究过.
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,