1、需求

需求很簡(jiǎn)單,就是在C#開發(fā)中高速寫日志。比如在高并發(fā),高流量的地方需要寫日志。我們知道程序在操作磁盤時(shí)是比較耗時(shí)的,所以我們把日志寫到磁盤上會(huì)有一定的時(shí)間耗在上面,這些并不是我們想看到的。

 

2、解決方案

2.1、簡(jiǎn)單原理說明

使用列隊(duì)先緩存到內(nèi)存,然后我們一直有個(gè)線程再?gòu)牧嘘?duì)中寫到磁盤上,這樣就可以高速高性能的寫日志了。因?yàn)樗俣嚷牡胤轿覀兎蛛x出來了,也就是說程序在把日志扔給列隊(duì)后,程序的日志部分就算完成了,后面操作磁盤耗時(shí)的部分程序是不需要關(guān)心的,由另一個(gè)線程操作。

俗話說,魚和熊掌不可兼得,這樣會(huì)有一個(gè)問題,就是如果日志已經(jīng)到列隊(duì)了這個(gè)時(shí)候程序崩潰或者電腦斷電都會(huì)導(dǎo)致日志部分丟失,但是有些地方為了高性能的寫日志,是否可以忽略一些情況,請(qǐng)各位根據(jù)情況而定。

 

2.2、示例圖

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式