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


Глава.21 .Автоматическое.управление.памятью.(уборка.мусора) таблица 21.1



Download 6,27 Mb.
Pdf ko'rish
bet420/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   416   417   418   419   420   421   422   423   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

572
Глава.21 .Автоматическое.управление.памятью.(уборка.мусора)
таблица 21.1.
.Значения,.определенные.в.перечислении.GCLatencyMode
значение
Описание
Batch (по умолчанию ис-
пользуется для серверно-
го режима)
Отключает параллельную уборку мусора
Interactive (по умолчанию 
используется для режима 
рабочей станции)
Включает параллельную уборку мусора
LowLatency
В режиме рабочей станции этот скрытый режим исполь-
зуется для кратковременных, критичных по времени опе-
раций (например, анимации), для которых уборка мусора 
в поколении 2 из-за снижения производительности может 
оказаться неприемлемой
SustainedLowLatency
Используется для предотвращения долгих пауз уборки 
мусора во время выполнения приложения. Блокирующая 
уборка мусора поколения 2 запрещается при наличии сво-
бодной памяти. Пользователи таких приложений скорее 
предпочтут установить на компьютере дополнительную 
память, чтобы избежать пауз. Пример приложения такого 
рода — приложение для торговли на бирже, которое долж-
но немедленно реагировать на изменение цены
Режим 
LowLatency
требует дополнительных пояснений. Обычно его включают 
для реализации операций, для которых важно время выполнения, а затем воз-
вращают режим 
Batch
или 
Interactive
. Однако в режиме 
LowLatency
уборщик 
мусора действительно обходит вниманием поколение 2, так как это может занять 
много времени. Разумеется, если вы вызовете метод 
GC.Collect()
, поколение 2 
также отправится в мусор. То же самое произойдет, если Windows «пожалуется» 
CLR на недостаток системной памяти (этот вопрос обсуждался ранее в этой главе).
В режиме 
LowLatency
приложение может выдавать исключение 
OutOfMemory-
Exception
. Соответственно, можно порекомендовать включать этот режим на мак-
симально короткое время, избегать размещения в памяти многих объектов, а также 
больших объектов и возвращаться к режимам 
Batch
и 
Interactive
при помощи 
области ограниченного выполнения (см. главу 20). Также помните, что режим 
LowLatency
является настройкой уровня процесса и потоки могут быть запущены 
параллельно. Эти потоки могут даже менять данную настройку в процессе ее ис-
пользования другим потоком. В этом случае вы можете добавить обновляющийся 
счетчик (управляемый при помощи методов 
Interlocked
). Вот пример корректного 
использования режима 
LowLatency
:
private static void LowLatencyDemo() {
GCLatencyMode oldMode = GCSettings.LatencyMode;


573
Поколения
System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegions();
try {
GCSettings.LatencyMode = GCLatencyMode.LowLatency;
// Здесь выполняется код
}
finally {
GCSettings.LatencyMode = oldMode;
}
}

Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   416   417   418   419   420   421   422   423   ...   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