Шаг 80 - Потоковые модели COM Single

В "Шаг 54 - Свойства ATL класса - Attributes" мы говорили о свойствах COM объекта. То есть там была вкладка о моделях потока. Давайте разберемся с ними подробнее.

Итак, первая модель у нас была Single - single-threaded model. Что это означает ?? Это говорит о том, что у приложения только один поток выполнения. И все. Когда Вы делаете приложение с использованием MFC или чистого C у Вас по умолчанию только один поток. Вы можете создавать дополнительные потоки специально. Но по началу только один. При такой модели требуется гарантия, что обращение к объекту COM будет производиться только из одного потока.

80_1.gif (2223 b)

Что в этой модели плохо ??? Плохо то, что, если к COM будут обращаться несколько объектов, то при обращении к одной функции придется ждать пока другой объект не получит доступ. И не имеет значение из каких потоков это происходит. Даже если из одного. Например, COM может выполнять длительные действия. Проще понять, если к COM обращаются два потока.

80_2.gif (2293 b)

А теперь маленькая цитата. Это не я написал. Это цитата. Верите или нет, но Delphi 3 технически может создавать только однопотоковые внутренние и внешние сервера COM. Вот так Delphi это круто, это круто кричат все вокруг.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 25.04.2001