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();
}
}热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短