Схема лизингового управления циклом существования САО-типов и WKO-синглетов

Схема лизингового управления циклом существования САО-типов и WKO-синглетов

Вы уже видели, что WKO-типы, сконфигурированные для активизации одиночного вызова, существуют только в процессе текущего вызова метода. Поэтому WKO-типы одиночного вызова являются объектами, не меняющими своего состояния в процессе выполнения. Как только текущий вызов завершается, WKO-тип одиночного вызова становится объектом, предназначенным для участия в очередной процедуре сборки мусора.

С другой стороны, САО-типы, а также WKO-типы, сконфигурированные для активизации в виде синглета, являются по своей природе объектами, кумулятивно изменяющими параметры своего состояния в процессе выполнения вызовов клиентов. Учитывая эти две доступные опции установки конфигурации, возникает следующий вопрос: как процесс сервера "узнает" о том, что пора уничтожить такой MBR-объект? Если сборщик мусора на сервере уничтожит MBR-объекты, находящиеся в использовании удаленным клиентом, это создаст проблемы, А если серверу придется ожидать освобождения MBR-типов слишком долго, это отрицательно повлияет на работу системы, особенно если соответствующие MBR-объекты удерживают важные ресурсы (связь с базой данных, неуправляемые типы или какие-то другие ресурсы).

Цикл существования MBR-объекта, являющегося CAO-типом или WKD-синглетом, контролируется по схеме лизингового управления, которая тесно связана с процессом сборки мусора .NET. Если "время аренды" MBR-объекта, являющегося CAO типом или WKO-синглетом истекает, объект становится кандидатом на участие в очередном цикле сборки мусора. Как и в случае любого другого .NET-типа, если удаленный объект переопределяет System.Object.Finalize() (с помощью синтаксиса деструктора C#), то среда выполнения .NET автоматически запустит соответствующую логику финализации.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Управление жизненным циклом и маршалинг

Из книги Сущность технологии СОМ. Библиотека программиста автора Бокс Дональд

Управление жизненным циклом и маршалинг Ранее в этой главе обсуждались взаимоотношения между администратором заглушек и объектом. Администратор заглушек создается при первом вызове CoMarshalInterface для определенного идентифицированного объекта. Администратор заглушек


Причины существования невидимого Интернета

Из книги Интернет-разведка [Руководство к действию] автора Ющук Евгений Леонидович

Причины существования невидимого Интернета Невидимый Интернет существует в силу целого ряда причин, как технического, так и организационного характера.Некоторые ресурсы могут быть индексированы поисковыми машинами с технической точки зрения, главное – обнаружить


ГЛАВА 5. Цикл существования объектов

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

ГЛАВА 5. Цикл существования объектов В предыдущей главе мы потратили достаточно много времени на то, чтобы научиться строить пользовательские типы класса в C#. В этой главе мы выясним, как среда CLR управляет уже размешенными объектами с помощью процесса, который называется


Схема лизингового управления, используемая по умолчанию

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

Схема лизингового управления, используемая по умолчанию Для MBR-объектов, являющихся САО-типами или WKO-синглетами, применяется так называемый лизинг по умолчанию, время которого равно пяти минутам. Если среда выполнения обнаружит, что MBR-объект, являющийся САО-типом или


Изменение параметров схемы лизингового управления

Из книги Инфраструктуры открытых ключей автора Полянская Ольга Юрьевна

Изменение параметров схемы лизингового управления Очевидно, параметры лизинга по умолчанию не могут годиться во всех случаях и для всех удаленных САО-объектов и WKO-синглетов. Если вы хотите изменить типовые установки, у вас на выбор есть два варианта.• Установки лизинга,


Цикл существования Web-страницы ASP.NET

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Цикл существования Web-страницы ASP.NET Каждая Web-страница ASP.NET имеет свой "жизненный цикл". Когда среда выполнения ASP.NET получает входящий запрос для данного файла *. aspx, в памяти размещается соответствующий тип, производный от System.Web.UI.Page, для создания которого используется


5.1.1. Общая схема управления процессами

Из книги Цифровой журнал «Компьютерра» № 172 автора Журнал «Компьютерра»

5.1.1. Общая схема управления процессами Каждый процесс может порождать полностью идентичный процесс с помощью fork(). Родительский процесс может дожидаться окончания выполнения всех своих процессов-потомков с помощью системного вызова wait. В любой момент времени процесс


Управление жизненным циклом сертификатов и ключей

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Управление жизненным циклом сертификатов и ключей Если секретный ключ пользователя потерян, похищен или скомпрометирован, либо существует вероятность наступления таких событий, действие сертификата должно быть прекращено. После получения подтверждения запроса


Примерные сценарии управления жизненным циклом сертификатов и ключей

Из книги автора

Примерные сценарии управления жизненным циклом сертификатов и ключей Рассмотрим возможные сценарии управления жизненным циклом сертификатов и ключей PKI, предполагая, что политикой применения сертификатов установлен срок действия сертификата открытого ключа - 1 год,


10.1.11. Проверка существования и получение размера файла

Из книги автора

10.1.11. Проверка существования и получение размера файла Часто необходимо знать, существует ли файл с данным именем. Это позволяет выяснить метод exist? из модуля FileTest:flag = FileTest::exist?("LochNessMonster")flag = FileTest::exists?("UFO")# exists? является синонимом exist?Понятно, что такой метод не может быть


Продажная любовь как способ существования литературы, искусства и профессионального спорта Василий Щепетнёв

Из книги автора

Продажная любовь как способ существования литературы, искусства и профессионального спорта Василий Щепетнёв Опубликовано 06 мая 2013 Теперь уже бывшая библиотека. Сегодня в ней можно приодеться. А где взять книгу «на почитать?» Весь бульвар


18.5.3. Использование команды ls совместно с циклом for

Из книги автора

18.5.3. Использование команды ls совместно с циклом for Этот цикл оценивает команду ls интерпретатора shell и отображает сведения о файлах текущего каталога.$ pg forls#!/bin/sh# forlsfor loop in `ls` doecho $LOOP done$


18.5.4. Применение параметров вместе с циклом for

Из книги автора

18.5.4. Применение параметров вместе с циклом for Если в цикле for опустить часть in list, позиционные параметры командной строки становятся аргументами. Действительно, этот подход аналогичен следующему:for params in "$@"илиfor params in "$*"Ниже приводится пример, который показывает, как можно