社区
C#
帖子详情
.net多线程
yukai001
2012-03-19 02:03:26
上百万文件,读每个文件所用时间有很大差异,
我想启动比如5个线程去读。
Thread[] t=new Thread[5];
1.实例化每个线程
2.t[1].start()....t[5].start();
我想这样做:
假如t[2]先运行完。
用t[2]去读第六个文件
接着t[4]先运行完。
用t[4]去读第7个文件
...全文
100
5
打赏
收藏
.net多线程
上百万文件,读每个文件所用时间有很大差异, 我想启动比如5个线程去读。 Thread[] t=new Thread[5]; 1.实例化每个线程 2.t[1].start()....t[5].start(); 我想这样做: 假如t[2]先运行完。 用t[2]去读第六个文件 接着t[4]先运行完。 用t[4]去读第7个文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yukai001
2012-03-20
打赏
举报
回复
因为读取时间不一样,我怎么知道哪个线程先运行完呢?
xiaoyu821120
2012-03-19
打赏
举报
回复
我想lz读的文件,应该是从nas上读取的,用多线程当然能提高读取速度。
一种做法,可以先把文件信息,全部读取到一个数组中,然后平分一下。
如果你觉得把文件信息读取进来也太慢,可以考虑一种相对平均的分配方法,比如修改时间,比如文件名,比如文件大小等等。
laichunlin
2012-03-19
打赏
举报
回复
以前没这样用过,帮顶一个!
startstartsvip
2012-03-19
打赏
举报
回复
[Quote=引用楼主 yukai001 的回复:]
上百万文件,读每个文件所用时间有很大差异,
我想启动比如5个线程去读。
Thread[] t=new Thread[5];
1.实例化每个线程
2.t[1].start()....t[5].start();
我想这样做:
假如t[2]先运行完。
用t[2]去读第六个文件
接着t[4]先运行完。
用t[4]去读第7个文件
[/Quote]
五个去读,正如2楼所说,可能没累死,给折腾死
一般 2,3 个就够了
1)你可以 用 queue/list 加锁
2).net 4.0 巨简单 先得到所有文件 fileinfo[]
然后
并行for/foreach
threenewbee
2012-03-19
打赏
举报
回复
没有意义。
读写文件的瓶颈在IO而不是在CPU,多线程只能让性能更差。
一方面,操作系统的异步IO访问机制已经足够优化,实现延迟隐藏,另一方面,对于机械磁盘,并发的磁盘访问增加了寻道,降低了速度。
如果文件不是很大(总数在系统内存的1/10,比如对于8GB内存系统,文件总数小于1GB),直接读取到内存处理也是不错的选择。
C#面试题 包括 ADO
.net
多线程
等
C#面试题 包括 ADO
.net
多线程
等 C#面试题 包括 ADO
.net
多线程
等 C#面试题 包括 ADO
.net
多线程
等 C#面试题 包括 ADO
.net
多线程
等 C#面试题 包括 ADO
.net
多线程
等
VB
.net
多线程
大文件下载(带进度条和下载速度) 源码
原创作品,因为自己一个项目需要用到大文件下载,在网上找了很久没有找到VB
.NET
下载大文件的实例,所以自己写了这个,采用
多线程
控制,带进度条和当前下载速度计算。 源码中包含有大量中文注释,也非常适合初学者学习。
VB
.Net
-C#
多线程
Thread-代理委托delegate编程
最近收集的VB
.Net
-C#
多线程
Thread-代理委托delegate编程。文章列表: c#
.net
多线程
同步.txt C#WebBrowser页面与WinForm交互技巧一.txt C#
多线程
编程-多细全.txt C#
多线程
编程简单实例.txt C#
多线程
窗体控件安全访问.txt C#
多线程
使用TextBox控件 .txt C#
多线程
注意点.txt Control的Invoke和BeginInvoke.txt Invoke和BeginInvoke的真正含义.txt NET异步调用模式.txt TreeView更新线程.txt url.txt VB
.NET
多线程
——创建新线程.txt VB
.NET
多线程
——高级同步技术.txt VB
.NET
多线程
——线程池.txt Visual C#
多线程
参数传递浅析.txt WebBrowser控件-弹出新窗体和关闭窗口.txt WebBrowser控件的简单应用2.txt
多线程
为基于
.NET
的应用程序实现响应迅速的用户.txt 浅述WinForm
多线程
编程与Control.Invoke的应用.txt 微软
.Net
开发中的
多线程
编程总结.txt 线程中的参数传递.txt
vb
.net
多线程
thread
vb
.net
多线程
thread
VB-
.NET
多线程
编程的详细说明.doc编程资料
VB-
.NET
多线程
编程的详细说明.doc
C#
111,126
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章