日期:2014-05-18  浏览次数:20789 次

c#线程池的应用问题
有这个一个任务,10个文件夹,0,1,2,3,4,5,6,7,8,9,每个文件夹下有一些文件,我想开10个线程,每个线程循环扫描其中的一个文件夹,如A线程就扫描0,主要是针对文件夹下的文件进行处理.试问这样的需求用线程池合适吗,每个文件夹下的文件数目不太固定

------解决方案--------------------
咦~~这个有意思~帮顶看看~
------解决方案--------------------
帮顶 偶觉得可以
------解决方案--------------------
完全没必要。。 因为对硬盘的读写虽然慢。。但是除非是对应多个硬盘,否测没意义。 硬盘的操作是队列阻塞的。。其他线程只能等待一个操作完成以后才可以继续。。
其实 一个后台线程就可以完成全部的硬盘扫描动作。。一旦扫描出其他的东西,就用事件提交给其他业务线程,,,
------解决方案--------------------
对文件IO用多线程不太合适
------解决方案--------------------
使用线程操作是不错的做法,线程池ThreadPool自动管理线程,并有一定的优化。
------解决方案--------------------
帮顶....
------解决方案--------------------
其实这个不用线程就可以完成.
------解决方案--------------------
直接干。。。才10个线程而已。。。

再说了,你这几个线程都在干自己的事情,也不存在重复利用的问题啊,要线程池干嘛?事情想复杂了。。。


------解决方案--------------------
没必要吧 直接遍历就好 看不出有什么并行需求啊
------解决方案--------------------
同一文件夹不要用线程,直接遍历文件夹就可。
http://www.cnblogs.com/cyq1162/archive/2007/05/28/762294.html
http://www.cnblogs.com/moondiary/archive/2008/08/16/1269079.html
------解决方案--------------------
问题想复杂了.
------解决方案--------------------
探讨
直接干。。。才10个线程而已。。。

再说了,你这几个线程都在干自己的事情,也不存在重复利用的问题啊,要线程池干嘛?事情想复杂了。。。

------解决方案--------------------
如果是学习线程的话还是有必要的
------解决方案--------------------
完全没必要。。 因为对硬盘的读写虽然慢。。但是除非是对应多个硬盘,否测没意义。 硬盘的操作是队列阻塞的。。其他线程只能等待一个操作完成以后才可以继续。。 
其实 一个后台线程就可以完成全部的硬盘扫描动作。。一旦扫描出其他的东西,就用事件提交给其他业务线程,,,