В соответствии с этой статьей, если я зарегистрирую свой COM-объект либо с помощью модели "Both" , либо "Free" Threading, этот объект должен быть полностью потоковым, безопасно. В частности, все обращения к глобальным общим переменным должны быть синхронизированы, и все обращения к переменным-членам также должны быть синхронизированы. Это много усилий.
Теперь я понимаю, что возможность зарегистрировать мой объект с использованием "свободной" модели потоковой передачи является выгодной и может стоить заплатить за то, чтобы сделать ее полностью потокобезопасной. Но почему я хотел бы все-таки сделать и зарегистрировать свой объект, используя вместо этого "Both" модель потоков? Каким будет преимущество? Как выбрать "Both" и "Free"?