文件名称:基于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)