文件名称:程序员面试刷题的书哪个好-mylog:我的日志
文件大小:151KB
文件格式:ZIP
更新时间:2024-07-27 06:31:12
系统开源
程序员面试刷题的书哪个好 还是因为图片原因,建议下载开发文档.docx文件看具体描述 一、 整体的设计 整个日志库实现了一个异步的日志功能,分为三个文件: MyLog是整个日志库的内核,管理着所有的功能逻辑。 LogBuffer是日志库的缓存类,用于提供单个缓存空间,以及缓存的写入和把缓存内容写出到磁盘等功能。 LogFront用于实现写日志绑定当前日志所在的文件名,行号等功能。(因为不同的位置,不同的线程调用LOGIN写日志时,行号什么的都会不同,如果硬要和MyLog整个日志库捆绑到一起的话,就不可避免的需要使用互斥锁,在一个线程写日志的时候,需要改变行号等临时信息,其他线程需要阻塞。这样效率就很低了。所以考虑现在这种实现方法,每次写日志的位置都创建一个临时的匿名LogFront类对象,对象中保存的当然就是行号等数据,因为保存的数据不多,所以创建和析构对象的开销不会很大,同时匿名对象在当前一行代码执行完之后会立刻析构,不会一直保留。) 首先介绍MyLog 类的技术要点: 1.MyLog 类对象的创建: a.日志对象是需要伴随整个程序一直存在的, b.日志对象全局只能有一个,因此需要S
【文件预览】:
mylog-master
----LogBuffer.h(709B)
----MyLog.cpp(10KB)
----QQ图片20181026133733.png(30KB)
----test2.cpp(726B)
----MyLog.h(3KB)
----LogBuffer.cpp(1KB)
----LogFile()
--------readme.md(61B)
----LogFront.cpp(426B)
----Makefile(449B)
----README.md(9KB)
----syn()
--------MyEvent.h(401B)
--------MyMutexPre.h(544B)
--------readme.md(97B)
--------Condition.h(511B)
--------Condition.cpp(1KB)
--------MyMutex.h(277B)
--------MyEvent.cpp(750B)
--------MyMutex.cpp(320B)
--------MyMutexPre.cpp(588B)
----LogFront.h(446B)
----开发文档.docx(115KB)