第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

FileSystemWatcher vs polling監(jiān)視文件更改

FileSystemWatcher vs polling監(jiān)視文件更改

紫衣仙女 2019-12-22 20:12:44
FileSystemWatcher vs polling監(jiān)視文件更改我需要設(shè)置一個(gè)應(yīng)用程序來(lái)監(jiān)視在本地或網(wǎng)絡(luò)驅(qū)動(dòng)器上的目錄中創(chuàng)建的文件。請(qǐng)問(wèn)FileSystemWatcher一個(gè)計(jì)時(shí)器或投票將是最好的選擇。我過(guò)去曾使用過(guò)這兩種方法,但并不廣泛。兩種方法都存在哪些問(wèn)題(性能,可靠性等)?
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

我遇到的最大問(wèn)題是當(dāng)緩沖區(qū)滿了時(shí)丟失文件。很容易修復(fù) - 只需增加緩沖區(qū)。請(qǐng)記住,它包含文件名和事件,因此請(qǐng)將其增加到預(yù)期的文件數(shù)量(試用和錯(cuò)誤)。它確實(shí)使用了無(wú)法分頁(yè)的內(nèi)存,因此如果內(nèi)存不足,它可能會(huì)強(qiáng)制其他進(jìn)程進(jìn)行分頁(yè)。

這是關(guān)于緩沖區(qū)的MSDN文章: FileSystemWatcher .. ::。InternalBufferSize屬性

每個(gè)MSDN:

增加緩沖區(qū)大小是昂貴的,因?yàn)樗鼇?lái)自無(wú)法換出到磁盤的非分頁(yè)內(nèi)存,因此請(qǐng)盡可能減小緩沖區(qū)。要避免緩沖區(qū)溢出,請(qǐng)使用NotifyFilter和IncludeSubdirectories屬性過(guò)濾掉不需要的更改通知。

由于一次預(yù)計(jì)會(huì)有大量批次,我們使用16MB。工作正常,永遠(yuǎn)不會(huì)錯(cuò)過(guò)文件。

我們還在開(kāi)始處理之前讀取了所有文件,即使只有一個(gè)......將文件名安全地緩存(在我們的例子中,放入數(shù)據(jù)庫(kù)表中)然后處理它們。

對(duì)于文件鎖定問(wèn)題,我產(chǎn)生了一個(gè)進(jìn)程,它等待文件解鎖等待一秒鐘,然后是兩秒鐘,然后是四個(gè)等等。我們從不投票。這已經(jīng)生產(chǎn)了大約兩年沒(méi)有錯(cuò)誤。



查看完整回答
反對(duì) 回復(fù) 2019-12-23
?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊

FileSystemWatcher也可能錯(cuò)過(guò)在繁忙時(shí)間的變化,如果排隊(duì)改變的次數(shù)溢出提供的緩沖液中。這不是.NET類本身的限制,而是基礎(chǔ)Win32基礎(chǔ)結(jié)構(gòu)的限制。根據(jù)我們的經(jīng)驗(yàn),最小化此問(wèn)題的最佳方法是盡快將通知出列并在另一個(gè)線程上處理它們。

如上面的@ChillTemp所述,觀察者可能無(wú)法處理非Windows共享。例如,它在安裝的Novell驅(qū)動(dòng)器上根本不起作用。

我同意一個(gè)很好的折衷方案是偶爾進(jìn)行民意調(diào)查,以便找出任何錯(cuò)過(guò)的變化。



查看完整回答
反對(duì) 回復(fù) 2019-12-23
  • 2 回答
  • 0 關(guān)注
  • 397 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)