李颖:
我老人家也有问题要问,.Net平台多线程的问题
[阅读: 490] 2004-12-24 08:13:09
是一个文件管理的程序,任务是列举指定目录下的所有文件,然后从中读取一些XML格式数据
这个程序在单线程下,读取本地文件,平均耗时5ms,也就是说数据分析的代码不怎么耗时
但是把这个本地目录映射成网络驱动器之后,变成平均耗时32ms,是不是因为网络文件在本地不被cache?
不管为什么,总之主要的时间开销看起来在网络文件的读操作上
今天写了一个测试程序,用.Net提供的System.Threading.ThreadPool类
把读数据的代码做成多线程,结果总体时间反而增加了
多次测试的结果,有时候甚至在工作到一部分时候,出现长时间等待
为什么?需要优化什么东西?
DISSENT IS THE HIGHEST FORM OF PATRIOTISM !
--Thomas Jefferson