一種高效的多線程日志寫(xiě)入方法

基本信息

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

摘要

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