缓冲区
- 缓冲区的概念就是一段连续的存储空间
- Qt中使用QBuffer类进行缓冲区相关操作
- 在Qt中可以将缓冲区看做是一种特殊的IO设备
- 文件流辅助类是针对IO设备的,可以像操作文件直接作用于缓冲区
- 只要有数据的读写和存取都可能会用到缓冲区
- 缓冲区的使用可以简化数据传递过程,读写数据都是一个缓冲区对象
-如何使用:将缓冲区和文本流或数据流对象绑定,直接通过文件流对象操作缓冲区
缓冲区使用场合
- 在线程间进行不同类型的数据传递
- 在线程之间进行数据传递时选择缓冲区比较方便,因为缓冲区属于共享资源,所有线程都能进行访问,所以通过缓冲区往不同的线程中传递数据是十分便捷的。
- 缓存外部设备的返回数据。
- 由于外部设备返回的数据可以另作他用,所以需要接收保存,因为缓冲区可以被作为IO设备使用。
- 数据读取速度小于数据写入速度的情况
代码实现
QByteArray array;
QBuffer buffer(&array);//将字节数组关联到缓冲区,就是这片空间就作为缓冲区
if(buffer.open(QIODevice::WriteOnly))
{
QDataStream out(&buffer);//通过一个数据流对象可以在同一个缓冲区中操作