Особенности многопоточной обработки в COM
От: igdrassile  
Дата: 22.04.02 12:20
Оценка:
Проблема. Почему при создании exe сервера с Threading Model = Free. Вызовы клиентов выстраиваются в очередь как при апартаментной модели, или что-то не так делаем?
Эксперимент. Создали exe-сервер в MS Visual Studio Net как MFC-application. Создали COM-объект, поточную модель обозначили как free. Создали единственную функцию touch(LONG period), которая просто ждет period миллисекунд.
Создали клиента как MFC-application. в клиенте создали 2 потока в каждом из которых вызываем CoinitializeEx(NULL, COINIT_MULTITHREADED). создаем COM-объект как локальный сервер, вызываем функцию touch, отмечаем время входа и время выхода, получается, что пока один поток не выйдет из touch второй туда не зайдет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.