您的位置:首页 > 编程语言 > C#

【C#】线程池

2015-07-06 23:18 453 查看
将方法排入队列以便执行,并指定包含该方法所用数据的对象。此方法在有线程池线程变得可用时执行。

class Program
{
static void Main(string[] args)
{
string[] list = new string[]{
"EAB359633247.txt",
"EAC359447924.txt",
"EAD359283672.txt",
"QAB334739161.txt",
"QAC334874329.txt",
"QAD334931408.txt",
"QAE334973681.txt",
"QAF334586595.txt",
"QAG335040631.txt",
"QAH335112451.txt",
"TAB360175903.txt",
"TAC359335089.txt",
"TAD359849565.txt",
"TAE359493883.txt",
"TAF359072765.txt",
"TAG359288491.txt",
"TAH359103475.txt",
"TAI359798913.txt"};
foreach (string path in list)
{
Console.WriteLine("塞进线程池:" + path);
MyThread th = new MyThread();
th.Path = path;
// 将需要处理的内容一次性塞进线程池(无需等待处理完成)
// 线程池会寻找可用线程来处理任务(多线程)
ThreadPool.QueueUserWorkItem(new WaitCallback(th.Run));
// 和上面等价 ThreadPool.QueueUserWorkItem(th.Run);
}
Console.ReadLine();
}
}

public class MyThread
{
public string Path
{
get;
set;
}

public void Run(object o)
{
//todo
Console.WriteLine("已处理:" + Path);
}
}




看下这位同学自己实现的
http://blog.csdn.net/sq_zhuyi/article/details/6869661
深入了解一下啊
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: