基于Boost的数据处理器及线程安全类和信号量

时间:2015-01-24 11:59:13
【文件属性】:

文件名称:基于Boost的数据处理器及线程安全类和信号量

文件大小:13KB

文件格式:RAR

更新时间:2015-01-24 11:59:13

Boost 跨平台 数据处理器 信号量 线程安全队列

1. 线程安全的双端队列,可用于多线程中传递数据,数据类型包括二进制流、简单类型、对象等。 2. 封装了boost的condition_variable,使其使用方法很接近Windows的Event。其优势在于能跨平台使用。 3. 封装了boost的mutex,能跨平台使用。 4. 封装了boost的mutex的scoped_lock,能跨平台使用。相对于CWnLock,其优势在于发生异常时能自动解锁,避免线程死锁。 5. // 一个可用于线程间传递数据的类。此类的优势在于: // 1. 跨平台 // 2. 将线程通信间比较难的线程安全、信号通知等机制均封装在对象中 // 3. 由于数据的传递完全依靠事件通知,因此数据的流转效率以及吞吐量均非常高(已经使用在公司海外股票FeedHandler上,吞吐量轻松突破每秒500,000个包) // 4. 接口简单,使用非常方便(可参考BoostDemo程序) // 使用方法 // CDataHandler是一个基类,使用时定义子类对其进行继承。 // 继承类重写DataThread和DataFunc方法(一般情况下仅需重写DataFunc方法即可)


【文件预览】:
BoostDemo
----stdafx.cpp(296B)
----DataHandler()
--------DataHandler.h(2KB)
--------DataHandler.cpp(24B)
----Synchronous()
--------WnEvent.cpp(22B)
--------WnEvent.h(917B)
--------WnLock.cpp(19B)
--------WnLock.h(420B)
--------WnScopedLock.cpp(190B)
--------WnScopedLock.h(557B)
----stdafx.h(320B)
----targetver.h(765B)
----BoostDemo.sln(883B)
----AtomQueue()
--------WnQueue.h(1KB)
--------WnQueue.cpp(20B)
----BoostDemo.vcproj(5KB)
----BoostDemo.cpp(1KB)
----BoostDemo.suo(57KB)

网友评论

  • 有用,资源不错
  • 正在学习多线程时,使用BOOST实现线程间同步,感谢分享
  • 看看,学习一下
  • boost新手学习用,多谢了
  • demo不错。是boost源码!
  • 我是看着每秒50w个包来的,确实不错,我用的没有达到这么多,估计跟数据包大小有关系
  • 赞一个,正是我需要的东西。。
  • 停用用得 谢谢
  • boost新手学习用,多谢了~
  • 怎么没有互斥体那部分呢?其实我最想看的就是那部分了
  • 参考价值不大,实用性一般吧。
  • 很好,对boost库新手帮助很大。
  • 感觉没什么用
  • 不错,可以用,谢谢
  • 很好,要仔细研究下
  • 很好,对boost库新手帮助很大。
  • 赞一个,想学习下实现来下载了源码,可惜还是没看
  • 用过了,感觉还是有点问题
  • 学习下,适合读取的应用场景
  • 还可以,对boost新手有帮助
  • 很好,对boost库新手帮助很大。
  • 恩 很好 试试加在工程里看效果好不好
  • 谢谢了,我正需要一个高速缓存方面的
  • 还行,要仔细研究下。
  • 很好,对boost库新手帮助很大。