C#实现线程池的简单示例
本文以实例演示了C#线程池的简单实现方法。程序中定义了一个对象类,用以包装参数,实现多个参数的传递。成员属性包括两个输入参数和一个输出参数。代码简单易懂,备有注释便于理解。
具体实现代码如下:
usingSystem;
usingSystem.Threading;
//定义对象类,用以包装参数,实现多个参数的传递
classPacket
{
//成员属性包括两个输入参数和一个输出参数
protectedinternalStringinval1;
protectedinternalStringinval2;
protectedinternalStringoutval;
}
classThreadPoolExam
{
//定义执行相同内容的两个方法
publicvoidTask1(objectObj)
{
//声明Packet类对象,用以传递参数
PacketPacketObj;
PacketObj=(Packet)Obj;
Console.WriteLine("任务一中的第一个输入参数:"+PacketObj.inval1);
Console.WriteLine("任务一中的第二个输入参数:"+PacketObj.inval2);
//为输出参数赋值
PacketObj.outval=PacketObj.inval1+""+PacketObj.inval2;
}
publicvoidTask2(objectObj)
{
PacketPacketObj;
PacketObj=(Packet)Obj;
Console.WriteLine("任务二中的第一个输入参数:"+PacketObj.inval1);
Console.WriteLine("任务二中的第二个输入参数:"+PacketObj.inval2);
PacketObj.outval=PacketObj.inval1+""+PacketObj.inval2;
}
staticvoidMain()
{
//声明两个Packet对象,并为输入参数赋值
PacketPacketObj1=newPacket();
PacketPacketObj2=newPacket();
PacketObj1.inval1="Task1-1";
PacketObj1.inval2="Task1-2";
PacketObj2.inval1="Task2-1";
PacketObj2.inval2="Task2-2";
ThreadPoolExamtps=newThreadPoolExam();
//将方法放入线程池的队列中
ThreadPool.QueueUserWorkItem(newWaitCallback(tps.Task1),PacketObj1);
ThreadPool.QueueUserWorkItem(newWaitCallback(tps.Task2),PacketObj2);
Console.ReadLine();
}
}热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下