程序员面试刷题的书哪个好还是因为图片原因,建议下载开发文档.docx文件看具体描述。整体的设计整个日志库实现了一个异步的日志功能,分为三个文件: MyLog是整个日志库的内核,管理着所有的功能逻辑。 LogBuffer是日志库的缓存类,用于提供单个缓存空间,以及缓存的写入和把缓存内容写出到磁盘等功能。 LogFront用于实现写日志绑定当前日志所在的文件名,行号等功能。(因为不同的位置,不同的线程调用LOGIN写日志时,行号什么的都会不同,如果硬要和MyLog整个日志库捆绑到一起的话,就不可避免的需要使用互斥锁,在一个线程写日志的时候,需要改变行号等临时信息,其他线程需要阻塞。这样效率就很低了。所以考虑现在这种实现方法,每次写日志的位置都创建一个临时的匿名LogFront类对象,对象中保存的当然就是行号等数据,因为保存的数据不多,所以创建和析构对象的开销不会很大,同时匿名对象在当前一行代码执行完之后会立刻析构,不会一直保留。)首先介绍MyLog类的技术要点: 1.MyLog类对象的创建: a.日志对象是需要伴随整个程序一直存在的, b.日志对象全局只能有一个,因此需要S
暂无评论