• 大小: 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

评论

共有 条评论

相关资源