Читайте также:
|
|
{
Default, // Текущим значением по умолчанию является Forced.
Forced, // Указывает исполняющей среде начать сборку мусора немедленно1
Optimized // Позволяет исполняющей среде выяснить, оптимален
//ли настоящий момент для удаления объектов.
}
Как и при любой сборке мусора, в случае вызова GC.Collect() уцелевшим объектам назначается статус объектов более высокого поколения. Чтобы удостовериться в этом, модифицируем метод Main() следующим образом:
static void Main(string[] args)
{
// Отображение примерного количества байтов в куче.
Console.WriteLine("Estimated bytes on heap: {0}",
GC.GetTotalMemory(false));
// Отсчет значения MaxGeneration начинается с нуля.
Console.WriteLine("This OS has {0} object generations.\n",
(GC.MaxGeneration + 1));
Car refToMyCar = new Car("Zippy", 100);
Console.WriteLine(refToMyCar.ToString());
// Вывод информации о поколении, к которому
// относится refToMyCar.
Console.WriteLine ("\nGeneration of refToMyCar is: {0}",
GC.GetGeneration(refToMyCar));
// Создание большого количества объектов для целей тестирования.
object[] tonsOfObjects = new object[50000];
for (int i = 0; i < 50000; i++)
tonsOfObjects [i] = new object ();
// Выполнение сборки мусора в отношении только
// объектов, относящихся к поколению 0.
GC.Collect @, GCCollectionMode.Forced);
Дата добавления: 2015-07-25; просмотров: 38 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
GC.WaitForPendingFinalizers (); | | | Создание финализируемых и высвобождаемых типов |