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

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

強(qiáng)制C#中垃圾收集的最佳實(shí)踐

強(qiáng)制C#中垃圾收集的最佳實(shí)踐

MM們 2019-07-06 16:19:38
強(qiáng)制C#中垃圾收集的最佳實(shí)踐根據(jù)我的經(jīng)驗(yàn),大多數(shù)人都會(huì)告訴您,強(qiáng)制進(jìn)行垃圾收集是不明智的,但是在某些情況下,您正在處理的大型對(duì)象并不總是在0代中被收集,但是在內(nèi)存是問題的地方,強(qiáng)制收集可以嗎?有沒有這樣做的最佳做法?
查看完整描述

3 回答

?
蕪湖不蕪

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

在大多數(shù)情況下,最好的做法是不強(qiáng)制垃圾收集。(我研究過(guò)的每一個(gè)系統(tǒng)都強(qiáng)制垃圾收集,有一些突出的問題,如果解決了這些問題,就會(huì)消除強(qiáng)制垃圾收集的需要,并且大大加快了系統(tǒng)的速度。)

有一個(gè)少數(shù)案件什么時(shí)候你,你們比垃圾收集器更了解內(nèi)存使用情況。在多用戶應(yīng)用程序或一次響應(yīng)多個(gè)請(qǐng)求的服務(wù)中,這不太可能是正確的。

然而,在一些批式處理你知道的比GC更多。例如,考慮一個(gè)應(yīng)用程序。

  • 給出命令行上的文件名列表。
  • 處理單個(gè)文件,然后將結(jié)果寫入結(jié)果文件。
  • 在處理文件時(shí),創(chuàng)建許多相互鏈接的對(duì)象,在文件處理完成之前無(wú)法收集這些對(duì)象(例如,解析樹)。
  • 在已處理的文件之間保持不多狀態(tài)。.

你,你們可以,可能能夠(經(jīng)過(guò)仔細(xì)的)測(cè)試,在處理每個(gè)文件之后強(qiáng)制進(jìn)行一個(gè)完整的垃圾收集。

另一種情況是每隔幾分鐘喚醒一次處理某些項(xiàng)目的服務(wù),并且不會(huì)在睡覺的時(shí)候保持任何狀態(tài)..然后在睡覺前強(qiáng)迫一個(gè)完整的集合可以,可能值得。

當(dāng)我知道最近創(chuàng)建了很多對(duì)象,并且當(dāng)前引用的對(duì)象很少時(shí),我才會(huì)考慮強(qiáng)制收集。

我寧愿有一個(gè)垃圾收集API,當(dāng)我可以給它關(guān)于這類事情的提示時(shí),而不必強(qiáng)迫GC自己。

亦見“里科·馬里亞尼的表演奇聞"


查看完整回答
反對(duì) 回復(fù) 2019-07-06
?
繁花如伊

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

從這個(gè)角度來(lái)看-當(dāng)垃圾桶在10%的時(shí)候扔掉廚房的垃圾,還是在把它倒出來(lái)之前讓它裝滿,這是更有效的方法嗎?

不讓它填滿,你就是在浪費(fèi)你的時(shí)間從外面的垃圾桶走來(lái)走去。這類似于GC線程運(yùn)行時(shí)發(fā)生的情況-所有托管線程在運(yùn)行時(shí)都掛起。如果我沒有弄錯(cuò),GC線程可以在多個(gè)AppDomain之間共享,因此垃圾收集會(huì)影響所有這些應(yīng)用程序。

當(dāng)然,你可能會(huì)遇到這樣的情況:你不會(huì)很快在垃圾桶里添加任何東西-比如說(shuō),如果你要去度假的話。那么,在出去之前把垃圾扔出去是個(gè)好主意。

這可能是迫使GC能夠提供幫助的一次-如果程序閑置,使用中的內(nèi)存不會(huì)被垃圾收集,因?yàn)闆]有分配。


查看完整回答
反對(duì) 回復(fù) 2019-07-06
  • 3 回答
  • 0 關(guān)注
  • 536 瀏覽

添加回答

舉報(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)