一种高效的多线程日志写入方法

基本信息

申请号 CN201410103710.7 申请日 -
公开(公告)号 CN103885726B 公开(公告)日 2017-07-21
申请公布号 CN103885726B 申请公布日 2017-07-21
分类号 G06F3/06(2006.01)I;G06F11/34(2006.01)I 分类 计算;推算;计数;
发明人 邹国卫 申请(专利权)人 东蓝数码有限公司
代理机构 - 代理人 -
地址 315000 浙江省宁波市鄞州区启明路818号14幢108号303室
法律状态 -

摘要

摘要 本发明涉及一种高效的多线程日志写入方法,使用到供应用程序使用的接口,并生成日志信息的前端和负责把日志消息写入到本地文件的后端;步骤1、初始化所述前端的缓冲区和所述后端的缓冲区;步骤2、所述前端负责往所述前端的缓冲区填日志消息;步骤3、所述后端将后端的缓冲区的日志数据写入本地文件中;步骤4、当所述前端的缓冲区写满后,交换所述前端的缓冲区和所述后端的缓冲区,让所述后端将其缓冲区的数据写入本地文件,而所述前端往其缓冲区填入新的日志消息,如此往复。本发明方法可以每秒写几千上万条日志的时候没有明显的性能损失、能应对一个进程产生大量日志数据的场景、不阻塞正常的执行流程以及在多线程程序中,不造成锁争用等。