Определение контекстно-связанных объектов

Определение контекстно-связанных объектов

Чтобы определить класс (SportsCarTS), автоматически поддерживающий потоковую безопасность, без добавления в него сложной логики синхронизации патока при реализации членов, следует взять объект, производный от ContextBoundObject, и применить атрибут [Synchronization], как показано ниже.

using System.Runtime.Remoting.Contexts;

// Этот контекстно-связанный тип будет загружен только

// в синхронизированном (т.е. многопоточном) контексте.

[Synсhronization]

public class SportsCarTS: ContextBoundObject{}

Типы с атрибутом [Synchronization] загружаются в контексте сохранения потоков. С учетом специальных контекстуальных требований типа класса MyThreadSafeObject представьте себе те проблемы, которые должны возникнуть, если размещенный объект перевести из синхронизированного контекста в несинхронизированный. Объект вдруг перестанет быть защищенным в отношении потоков и превратится в потенциального нарушителя целостности данных, поскольку другие потоки могут пытаться взаимодействовать с этим ссылочным объектом (теперь уже не сохраняющим потоки). Для гарантии того, что среда CLR не переместит объекты SportsCarTS за рамки синхронизированного контекста, достаточно взять объект, производный от ContextBoundObject.

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

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

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

Определение контуров объектов

Из книги AutoCAD 2009 автора Орлов Андрей Александрович

Определение контуров объектов Еще один метод позволяет определить границы штриховки, выбирая объекты вручную. Для этого необходимо щелкнуть на кнопке Add: Select objects (Добавить: выбор объектов). Диалоговое окно свернется, и в командной строке появится запрос: Select objects or [picK


Контекстно-независимые и контекстно-связанные типы

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

Контекстно-независимые и контекстно-связанные типы Типы .NET которые не предъявляют никаких специальных контекстных требований, называются контекстно-независимыми объектами. Эти объекты доступны из любого места в рамках соответствующего домена приложения, без каких бы


Навигационные возможности для связанных таблиц

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Навигационные возможности для связанных таблиц Чтобы продемонстрировать возможности DataRelation при программной реализации доступа к данным связанных таблиц, добавьте в форму новый тип Button и соответствующий ему TextBox. В результате конечный пользователь должен получить


Роль элементов управления, связанных с контролем ввода

Из книги AutoCAD 2010 автора Орлов Андрей Александрович

Роль элементов управления, связанных с контролем ввода Заключительной группой рассматриваемых здесь элементов управления Web-формы являются так называемые элементы контроля ввода. В отличие от остальных рассмотренных нами элементов управления Web-формы, элементы


Объединение связанных таблиц в запросе

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Объединение связанных таблиц в запросе Для выборки связанной информации из нескольких таблиц используется объединение (join). Чтобы создать объединение в запросе, необходимо определить первичные (primary) и внешние (foreign) ключи в таблицах, участвующих в объединении (эти


Определение контуров объектов

Из книги Windows Vista. Трюки и эффекты автора Зозуля Юрий

Определение контуров объектов Еще один метод позволяет определить границы штриховки, выбирая объекты вручную. Для этого необходимо щелкнуть на кнопке Add: Select objects (Добавить: выбор объектов). Диалоговое окно свернется, и в командной строке появится запрос:Select objects or [picK internal


Контекстно-зависимая справка

Из книги Разработка ядра Linux автора Лав Роберт

Контекстно-зависимая справка В редакторе Visual Basic клавиша F1 вызывает контекстно-зависимую справку, т.е. открывает перед вами именно тот раздел справки, который соответствует работе, выполняемой вами в момент вызова. То, что вы увидите, зависит от типа окна, которое будет в


Несколько связанных технологий баз данных

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

Несколько связанных технологий баз данных При программировании баз данных в Office вы столкнетесь еще с целым рядом терминов, поэтому вам стоит ознакомиться с ними заранее. ODBC (Open DataBase Connectivity- Открытый интерфейс доступа к базам данных) - это старый стандарт программирования


Определение параметров объектов Recordset

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

Определение параметров объектов Recordset Вы получаете контроль над созданным объектом Recordset с помощью различных параметров, определяющих вид указателя, тип блокировки и т.д. Вы можете определить эти параметры одним из двух способов, в зависимости от того, каким образом вы


12.1. Решение проблем, связанных с загрузкой Windows Vista

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

12.1. Решение проблем, связанных с загрузкой Windows Vista Специальные варианты загрузки Windows VistaЕсли вы столкнулись с ситуацией, когда Windows Vista не загружается, попробуйте использовать один из дополнительных вариантов загрузки. Чтобы войти в меню выбора дополнительных вариантов


7.4. Решение с помощью GCD задач, связанных с пользовательским интерфейсом

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

7.4. Решение с помощью GCD задач, связанных с пользовательским интерфейсом Постановка задачи Интерфейс программирования приложений GCD используется для параллельного программирования, и необходимо узнать, каков оптимальный способ его применения с другими API, связанными с


7.6. Асинхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом

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

7.6. Асинхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом Постановка задачи Необходимо иметь возможность решать задачи, не связанные с пользовательским интерфейсом, с помощью


Реализация связанных списков в ядре Linux

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

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