В "Шаг 54 - Свойства ATL класса - Attributes" мы говорили о свойствах COM объекта. То есть там была вкладка о моделях потока. Давайте разберемся с ними подробнее.
Итак, первая модель у нас была Single - single-threaded model. Что это означает ?? Это говорит о том, что у приложения только один поток выполнения. И все. Когда Вы делаете приложение с использованием MFC или чистого C у Вас по умолчанию только один поток. Вы можете создавать дополнительные потоки специально. Но по началу только один. При такой модели требуется гарантия, что обращение к объекту COM будет производиться только из одного потока.
Что в этой модели плохо ??? Плохо то, что, если к COM будут обращаться несколько объектов, то при обращении к одной функции придется ждать пока другой объект не получит доступ. И не имеет значение из каких потоков это происходит. Даже если из одного. Например, COM может выполнять длительные действия. Проще понять, если к COM обращаются два потока.
А теперь маленькая цитата. Это не я написал. Это цитата. Верите или нет, но Delphi 3 технически может создавать только однопотоковые внутренние и внешние сервера COM. Вот так Delphi это круто, это круто кричат все вокруг.