登录 注册
当前位置:主页 > 资源下载 > 42 > 一个实现了线程安全的可重用生产者消费者队列类

一个实现了线程安全的可重用生产者消费者队列类

  • 更新:2024-10-20 23:20:44
  • 大小:7KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:C++ - 后端
  • 格式:ZIP

资源介绍

生产者、消费者队列的代码和文档和例子,****或别的网站上已经有很多了,我就不再多说了。不过一般的文档中给出的例子往往只是“例子”,要用于实际的项目开发中差的很远,共享一下我以前写的一个线程安全的生产者消费者队列类。具有如下特点: 1.可以设置队列中的最大长度; 2.线程安全; 3.多线程想向队列中放入数据时,可设置等待队列有空位的超时时间,当有空位时,等待线程会被唤醒并将数据加入队列。函数原型为:FTLThreadWaitType Append(const ELEMENT& element, DWORD dwTimeOut). 4.多线程从队列中取出数据时,可设置等待队列有数据的超时时间, 当有数据时等待线程会被唤醒。函数原型为:FTLThreadWaitType Remove(ELEMENT& element, DWORD dwTimeOut), 5.支持安全的退出,即如果在等待加入数据或取出数据时,能直接通过Stop唤醒。 6.支持动态改变队列大小 -- 但这个功能我测试的不是很多,可能有Bug,如发现有Bug请告诉我。 7.和我其他FTL中的类一样,支持模版。 本次就偷一下懒,只上传源码和UT代码,就不再写示例程序了。下载了源码以后需要自己对应更改一下(如果实在更改不来,可以给我回复信息,我有空时再写个Demo放上来)。 博客地址:http://blog.****.net/fishjam/article/details/8832145