下面介绍的这个可伸缩多线程队列
原文:http://www.codeproject.com/Articles/4148/Multithreaded-Job-Queue,
主要有以下几个功能:
1、任务队列是多线程,许多任务可以异步进行,任务队列使用线程池来执行任务。
2、任务队列支持优先级,优先级高的任务优先执行(即使是后来添加的)
3、任务队列可以被暂停,但是用户还是可以添加任务,当任务队列被唤醒时,任务可以继续执行下去
4、在运行过程中,任务队列使用的线程池,用户可以自行增加和减少
大体框架主要由3个类构成
1、CJob,任务类,用户需要从该类派生来实现自身需要完成的任务
2、CJobExecuter,任务执行类,任务均由该类来调用执行,每一个类相当于对应一个线程
3、CMThreadedJobQ,多线程任务队列,添加任务已经任务的分发均由该类完成,该类维护一个任务队列和一个完成队列的线程池。
转自: http://www.cnblogs.com/venow/archive/2012/12/08/2808392.html