本文以实例演示了C#线程池的简单实现方法。程序中定义了一个对象类,用以包装参数,实现多个参数的传递。成员属性包括两个输入参数和一个输出参数。代码简单易懂,备有注释便于理解。
具体实现代码如下:
using System; using System.Threading; //定义对象类,用以包装参数,实现多个参数的传递 class Packet { //成员属性包括两个输入参数和一个输出参数 protected internal String inval1; protected internal String inval2; protected internal String outval; } class ThreadPoolExam { //定义执行相同内容的两个方法 public void Task1(object Obj) { //声明Packet类对象,用以传递参数 Packet PacketObj; PacketObj = (Packet)Obj; Console.WriteLine("任务一中的第一个输入参数:" + PacketObj.inval1); Console.WriteLine("任务一中的第二个输入参数:" + PacketObj.inval2); //为输出参数赋值 PacketObj.outval = PacketObj.inval1 + " " + PacketObj.inval2; } public void Task2(object Obj) { Packet PacketObj; PacketObj = (Packet)Obj; Console.WriteLine("任务二中的第一个输入参数:" + PacketObj.inval1); Console.WriteLine("任务二中的第二个输入参数:" + PacketObj.inval2); PacketObj.outval = PacketObj.inval1 + " " + PacketObj.inval2; } static void Main() { //声明两个Packet对象,并为输入参数赋值 Packet PacketObj1 = new Packet(); Packet PacketObj2 = new Packet(); PacketObj1.inval1 = "Task 1 - 1"; PacketObj1.inval2 = "Task 1 - 2"; PacketObj2.inval1 = "Task 2 - 1"; PacketObj2.inval2 = "Task 2 - 2"; ThreadPoolExam tps = new ThreadPoolExam(); //将方法放入线程池的队列中 ThreadPool.QueueUserWorkItem(new WaitCallback(tps.Task1), PacketObj1); ThreadPool.QueueUserWorkItem(new WaitCallback(tps.Task2), PacketObj2); Console.ReadLine(); } }
本文向大家介绍c++实现简单的线程池,包括了c++实现简单的线程池的使用技巧和注意事项,需要的朋友参考一下 c++线程池,继承CDoit,实现其中的start和end 头文件 CPP文件 以上所述就是本文的全部内容了,希望大家能够喜欢。 请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!
本文向大家介绍java简单实现多线程及线程池实例详解,包括了java简单实现多线程及线程池实例详解的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了java多线程的简单实现及线程池实例,供大家参考,具体内容如下 一、多线程的两种实现方式 1、继承Thread类的多线程 2、实现Runnable接口的多线程 二、线程池的简单实现 三、java爬虫使用线程池实例 以上就是本文的全部内容,希望对
本文向大家介绍c++线程池实现方法,包括了c++线程池实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了c++线程池实现方法。分享给大家供大家参考。具体分析如下: 下面这个线程池是我在工作中用到过的,原理还是建立一个任务队列,让多个线程互斥的在队列中取出任务,然后执行,显然,队列是要加锁的 环境:ubuntu linux 文件名:locker.h 文件名:locker.cpp 文件名
本文向大家介绍请问C++怎么实现线程池?相关面试题,主要包含被问及请问C++怎么实现线程池?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1.设置一个生产者消费者队列,作为临界资源
本文向大家介绍Java 线程池详解及创建简单实例,包括了Java 线程池详解及创建简单实例的使用技巧和注意事项,需要的朋友参考一下 Java 线程池 最近在改进项目的并发功能,但开发起来磕磕碰碰的。看了好多资料,总算加深了认识。于是打算配合查看源代码,总结并发编程的原理。 准备从用得最多的线程池开始,围绕创建、执行、关闭认识线程池整个生命周期的实现原理。后续再研究原子变量、并发容器、阻塞队列、同步
本文向大家介绍Python 使用threading+Queue实现线程池示例,包括了Python 使用threading+Queue实现线程池示例的使用技巧和注意事项,需要的朋友参考一下 一、线程池 1、为什么需要使用线程池 1.1 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率。 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3,如果T1+T3