一種高效的多線程日志寫入方法

基本信息

申請(qǐng)?zhí)?/td> CN201410103710.7 申請(qǐng)日 -
公開(公告)號(hào) CN103885726B 公開(公告)日 2017-07-21
申請(qǐng)公布號(hào) CN103885726B 申請(qǐng)公布日 2017-07-21
分類號(hào) G06F3/06(2006.01)I;G06F11/34(2006.01)I 分類 計(jì)算;推算;計(jì)數(shù);
發(fā)明人 鄒國(guó)衛(wèi) 申請(qǐng)(專利權(quán))人 東藍(lán)數(shù)碼有限公司
代理機(jī)構(gòu) - 代理人 -
地址 315000 浙江省寧波市鄞州區(qū)啟明路818號(hào)14幢108號(hào)303室
法律狀態(tài) -

摘要

摘要 本發(fā)明涉及一種高效的多線程日志寫入方法,使用到供應(yīng)用程序使用的接口,并生成日志信息的前端和負(fù)責(zé)把日志消息寫入到本地文件的后端;步驟1、初始化所述前端的緩沖區(qū)和所述后端的緩沖區(qū);步驟2、所述前端負(fù)責(zé)往所述前端的緩沖區(qū)填日志消息;步驟3、所述后端將后端的緩沖區(qū)的日志數(shù)據(jù)寫入本地文件中;步驟4、當(dāng)所述前端的緩沖區(qū)寫滿后,交換所述前端的緩沖區(qū)和所述后端的緩沖區(qū),讓所述后端將其緩沖區(qū)的數(shù)據(jù)寫入本地文件,而所述前端往其緩沖區(qū)填入新的日志消息,如此往復(fù)。本發(fā)明方法可以每秒寫幾千上萬(wàn)條日志的時(shí)候沒(méi)有明顯的性能損失、能應(yīng)對(duì)一個(gè)進(jìn)程產(chǎn)生大量日志數(shù)據(jù)的場(chǎng)景、不阻塞正常的執(zhí)行流程以及在多線程程序中,不造成鎖爭(zhēng)用等。