C#中如何使用多线程操作文件

2024-11-15 16:41:59
推荐回答(5个)
回答1:

相信你现在的处理方法是这样的

listBox2.Items.Clear();
for (int i = 0; i < listBox1.Items.Count; i++)
{
Thread th = new Thread(ss);
th.Start(listBox1.Items[i].ToString());
}

基本的都不用变,这里启动线程的代码改成下面的就可以了

listBox2.Items.Clear();
for (int i = 0; i < listBox1.Items.Count; i++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(ss), listBox1.Items[i].ToString());
}
这样就可以使用线程池了,经过测试,当listbox中的项目很多时候,前面的一种方法是启用非常多的线程,速度反而慢多了,而用线程池速度则非常的快

回答2:

?
每个线程单独用个类处理单个文件

线程池不是比那个简单吗?

0.0
神奇
我一度认为线程池要简单

回答3:

使用线程池的ThreadPool.SetMaxThreads方法可设置活动线程数目

回答4:

09年的问题了,现在是2012年,用.NET4.0里面的Parallel.For,很容易就解决啦~

回答5:

用线程池