12 2012 档案
摘要:线程池的原理及意义,请移步这篇博文:http://www.cnblogs.com/venow/archive/2012/11/22/2779667.html 下面,介绍的这个线程池与上面提到的那个线程池有一部分相似的地方。 主要区别为: 1、线程池中的每个线程都有自己的互斥量和条件变量,而不是线程池共享一个。 2、线程池中的线程在程序结束时,等待线程池中线程停止的机制不同。 该程序主要由两个文件构成,分别为ThreadPool.h和ThreadPool.cpp文件。 ThreadPool.h文件:#define MAXT_IN_POOL 200#define BUSY_...
阅读全文
摘要:一个简单C\C++内存池,网址如下:http://www.codeproject.com/Articles/27487/Why-to-use-memory-pool-and-how-to-implement-it,大体思路为:初始化时,分配几十个固定大小的内存块供程序使用,程序需要内存时,直接从内存池中取,释放内存时,内存池回收。该程序的内存分配时这样的,不管分配多大内存,只要内存池中有内存块并且内存块大小大于所需要分配的内存,就把这个内存块分配给程序使用,但是这个内存块剩下的内存就不能用了,所以这个内存池实现起来非常简单。共包含两个文件,一个头文件和一个cpp文件。 MemPool.h...
阅读全文
摘要:在我们的工作中,我们经常需要异步执行一些任务,下面介绍的这个可伸缩多线程队列,可满足我们的需求。 出自:http://www.codeproject.com/Articles/4148/Multithreaded-Job-Queue,主要有以下几个功能: 1、任务队列是多线程,许多任务可以异步进行,任务队列使用线程池来执行任务。 2、任务队列支持优先级,优先级高的任务优先执行(即使是后来添加的) 3、任务队列可以被暂停,但是用户还是可以添加任务,当任务队列被唤醒时,任务可以继续执行下去 4、在运行过程中,任务队列使用的线程池,用户可以自行增加和减少 大体框架主要...
阅读全文
浙公网安备 33010602011771号