Net framework 5, а также среды Visual Studio 2012 и C#



Download 6,27 Mb.
Pdf ko'rish
bet416/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   412   413   414   415   416   417   418   419   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

ПриМеЧание
Уборщик.мусора.отлично.работает.с.приложениями,.потоки.которых.большую.часть.
времени.бездействуют,.находясь.в.верхней.части.стека .Когда.у.потока.появляется.
работа,.он.просыпается,.создает.несколько.объектов.с.коротким.временем.жизни,.
возвращает.управление.и.опять.засыпает .Такая.архитектура.реализована.во.многих.
приложениях .Например,.в.приложениях.с.графическим.интерфейсом.программный.
поток.интерфейса.проводит.большую.часть.жизни.в.цикле.сообщений .Время.от.вре-
мени.пользователь.создает.входные.данные.(событие.касания,.мыши.или.клавиатуры),.
поток.активизируется,.обрабатывает.ввод.и.возвращается.к.ожиданию .Большинство.
объектов,.созданных.для.обработки.ввода,.при.этом.становятся.ненужными 
Аналогичным.образом.в.серверных.приложениях.обычно.используется.пул.потоков,.
ожидающих.поступления.запросов.от.клиента .При.получении.запроса.создаются.
новые.объекты.для.выполнения.работы.по.поручению.клиента .Когда.результат.за-
проса.возвращается.клиенту,.поток.возвращается.в.пул,.а.все.созданные.им.объекты.
подлежат.уничтожению 
В то же время, если после обработки поколения 0 уборщик мусора обнаруживает 
множество выживших объектов, значит, удается освободить мало памяти. В этом 
случае уборщик мусора может поднять порог для поколения 0. В результате уборка 
мусора выполняется реже, но каждый раз будет освобождаться значительный объем 
памяти. Кстати, если уборщик освобождает недостаточно памяти, перед генерирова-
нием исключения 
OutOfMemoryException
он выполняет полную уборку мусора.
Я привел пример того, как уборщик динамически может изменять порог по-
коления 0, но сходным образом могут меняться пороги для поколений 1 и 2. При 
уборке мусора в этих поколениях уборщик определяет, сколько памяти было 
освобождено и сколько объектов осталось. В зависимости от полученных данных 
он может увеличить или уменьшить пороги для этих поколений, чтобы повысить 
производительность работы приложения. В итоге уборщик мусора автоматически 
адаптируется к загрузке памяти, необходимой для конкретного приложения!
Показанный далее класс 
GCNotification
выдает событие при уборке мусора 
в поколении 0 или поколения 2. По этому событию можно подать звуковой сигнал 
или вычислить, сколько времени прошло между уборками, какой объем памяти был 
выделен и т. д. Данный класс позволяет проанализировать код приложения, чтобы 
лучше понять, каким образом оно использует память:


568
Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   412   413   414   415   416   417   418   419   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish