-
大小: 14KB文件类型: .zip金币: 1下载: 0 次发布日期: 2021-01-05
- 语言: 其他
- 标签:
资源简介
编写带缓存的文件操作类
从执行体程序库中的CLLogger类可知,通过缓存要写入文件中的数据,能够提高读写磁盘的性能
请编写一个文件操作的封装类,其要求如下:
需要提供open/read/write/lseek/close等函数的封装函数
该类要提供数据缓存服务。
调用该类的写操作接口时,数据要首先写到缓存,然后再根据策略写到文件中。
调用该类的读操作接口时,该类能根据策略缓存读出的数据
读写缓存要保持一致性
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include “CLFileRW.h“
#define LOG_FILE_NAME “a.txt“
#define BUFFER_SIZE 4096
CLFileRW* CLFileRW::m_pFile = 0;
pthread_mutex_t *CLFileRW::m_pMutexForCreatingFile = CLFileRW::InitializeMutex();
pthread_mutex_t *CLFileRW::InitializeMutex()
{
pthread_mutex_t *p = new pthread_mutex_t;
if(pthread_mutex_init(p 0) != 0)
{
delete p;
return 0;
}
return p;
}
CLFileRW::CLFileRW()
{
m_Fd = open(LOG_FILE_NAME O_RDWR | O_CREAT|O_APPEND S_IRUSR | S_IWUSR);
if(m_Fd == -1)
throw “In CLFileRW::CLFileRW() open error“;
m_pBuffer = new char[BUFFER_SIZE];//创建缓存区
m_nUsedBytesForBuffer = 0;
m_bFlagForProcessExit = false;
m_bFlagForLa
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-26 21:59 2\
文件 7267 2016-10-02 16:16 2\CLFileRW.cpp
文件 1119 2016-10-02 14:39 2\CLFileRW.h
文件 645 2016-10-02 16:05 2\CLFileRWTester.cpp
文件 516 2016-09-21 22:58 2\CLStatus.cpp
文件 419 2016-09-21 22:57 2\CLStatus.h
文件 544 2016-10-02 10:03 2\CLThread.cpp
文件 323 2016-10-02 10:03 2\CLThread.h
文件 851 2016-10-02 11:22 2\CLThreadRW.cpp
文件 489 2016-10-02 10:09 2\CLThreadRW.h
文件 25568 2016-11-06 20:29 2\a.out
文件 14 2016-11-06 20:29 2\a.txt
评论
共有 条评论