Определение контекстно-связанных объектов
Определение контекстно-связанных объектов
Чтобы определить класс (SportsCarTS), автоматически поддерживающий потоковую безопасность, без добавления в него сложной логики синхронизации патока при реализации членов, следует взять объект, производный от ContextBoundObject, и применить атрибут [Synchronization], как показано ниже.
using System.Runtime.Remoting.Contexts;
// Этот контекстно-связанный тип будет загружен только
// в синхронизированном (т.е. многопоточном) контексте.
[Synсhronization]
public class SportsCarTS: ContextBoundObject{}
Типы с атрибутом [Synchronization] загружаются в контексте сохранения потоков. С учетом специальных контекстуальных требований типа класса MyThreadSafeObject представьте себе те проблемы, которые должны возникнуть, если размещенный объект перевести из синхронизированного контекста в несинхронизированный. Объект вдруг перестанет быть защищенным в отношении потоков и превратится в потенциального нарушителя целостности данных, поскольку другие потоки могут пытаться взаимодействовать с этим ссылочным объектом (теперь уже не сохраняющим потоки). Для гарантии того, что среда CLR не переместит объекты SportsCarTS за рамки синхронизированного контекста, достаточно взять объект, производный от ContextBoundObject.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Реализация связанных списков в ядре Linux
Реализация связанных списков в ядре Linux В ядре Linux для прохождения по связанным спискам используется унифицированный подход. При прохождении связанного списка, если не важен порядок прохода, эту операцию не обязательно начинать с головного элемента, на самом деле вообще
12.1. Решение проблем, связанных с загрузкой Windows Vista
12.1. Решение проблем, связанных с загрузкой Windows Vista Специальные варианты загрузки Windows VistaЕсли вы столкнулись с ситуацией, когда Windows Vista не загружается, попробуйте использовать один из дополнительных вариантов загрузки. Чтобы войти в меню выбора дополнительных вариантов
Объединение связанных таблиц в запросе
Объединение связанных таблиц в запросе Для выборки связанной информации из нескольких таблиц используется объединение (join). Чтобы создать объединение в запросе, необходимо определить первичные (primary) и внешние (foreign) ключи в таблицах, участвующих в объединении (эти
Контекстно-зависимая справка
Контекстно-зависимая справка В редакторе Visual Basic клавиша F1 вызывает контекстно-зависимую справку, т.е. открывает перед вами именно тот раздел справки, который соответствует работе, выполняемой вами в момент вызова. То, что вы увидите, зависит от типа окна, которое будет в
Несколько связанных технологий баз данных
Несколько связанных технологий баз данных При программировании баз данных в Office вы столкнетесь еще с целым рядом терминов, поэтому вам стоит ознакомиться с ними заранее. ODBC (Open DataBase Connectivity- Открытый интерфейс доступа к базам данных) - это старый стандарт программирования
Определение параметров объектов Recordset
Определение параметров объектов Recordset Вы получаете контроль над созданным объектом Recordset с помощью различных параметров, определяющих вид указателя, тип блокировки и т.д. Вы можете определить эти параметры одним из двух способов, в зависимости от того, каким образом вы
Определение контуров объектов
Определение контуров объектов Еще один метод позволяет определить границы штриховки, выбирая объекты вручную. Для этого необходимо щелкнуть на кнопке Add: Select objects (Добавить: выбор объектов). Диалоговое окно свернется, и в командной строке появится запрос:Select objects or [picK internal
Контекстно-независимые и контекстно-связанные типы
Контекстно-независимые и контекстно-связанные типы Типы .NET которые не предъявляют никаких специальных контекстных требований, называются контекстно-независимыми объектами. Эти объекты доступны из любого места в рамках соответствующего домена приложения, без каких бы
Навигационные возможности для связанных таблиц
Навигационные возможности для связанных таблиц Чтобы продемонстрировать возможности DataRelation при программной реализации доступа к данным связанных таблиц, добавьте в форму новый тип Button и соответствующий ему TextBox. В результате конечный пользователь должен получить
Роль элементов управления, связанных с контролем ввода
Роль элементов управления, связанных с контролем ввода Заключительной группой рассматриваемых здесь элементов управления Web-формы являются так называемые элементы контроля ввода. В отличие от остальных рассмотренных нами элементов управления Web-формы, элементы
7.4. Решение с помощью GCD задач, связанных с пользовательским интерфейсом
7.4. Решение с помощью GCD задач, связанных с пользовательским интерфейсом Постановка задачи Интерфейс программирования приложений GCD используется для параллельного программирования, и необходимо узнать, каков оптимальный способ его применения с другими API, связанными с
7.6. Асинхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом
7.6. Асинхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом Постановка задачи Необходимо иметь возможность решать задачи, не связанные с пользовательским интерфейсом, с помощью
Определение контуров объектов
Определение контуров объектов Еще один метод позволяет определить границы штриховки, выбирая объекты вручную. Для этого необходимо щелкнуть на кнопке Add: Select objects (Добавить: выбор объектов). Диалоговое окно свернется, и в командной строке появится запрос: Select objects or [picK