A propriedade ThreadingModel especifica o modelo de threading usado por classes COM em processo, incluindo: Apartamento - ...

A propriedade ThreadingModel especifica o modelo de threading usado por classes COM em processo, incluindo:
Apartamento - Componentes podem ser inscritos por um, e apenas um, thread. Dados comuns mantidos por esses tipos de servidores de objetos devem ser protegidos contra colisões de thread, pois o servidor de objetos dá suporte a vários componentes. Cada componente pode ser inserido simultaneamente por diferentes threads.
Livre - Componentes não impõem restrições em quais threads ou quantos threads podem entrar no objeto. O objeto não pode conter dados específicos de thread e deve proteger seus dados contra acesso simultâneo por vários threads. Porém, componentes em thread livre não podem ser acessados diretamente por threads de apartamentos, e as chamadas feitas para eles são dispostas defronte o apartamento do cliente.
Ambos - Componentes que podem ser usados nos modos em thread de apartamento ou em thread livre. Esses componentes podem ser inseridos por vários threads, protegem seus dados contra colisões de thread e não contêm dados específicos de thread.
Se essa propriedade for NULL, nenhum modelo de threading será usado. O componente é criado no thread principal do cliente, e chamadas de outros threads são dispostas para esse thread. Consulte o Kit de Desenvolvimento de Software de Plataforma para obter informações sobre os vários modelos de threading.