Partilhar via


Atributo do modelo de encadeamento

COM+ gerencia threads para você. Cada componente COM tem uma propriedade ThreadingModel que você pode especificar ao desenvolver o componente. Essa propriedade determina como os objetos do componente são atribuídos a threads para execução do método.

Você pode usar a ferramenta administrativa Componentes de Serviços para exibir a propriedade modelo de encadeamento clicando com o botão direito do mouse em um componente na pasta Componentes, clicando em Propriedadese, em seguida, clicando na guia Simultaneidade. No Modelo de Encadeamento, os valores possíveis são os seguintes:

  • Main Thread Apartamento
  • Apartamento Single Thread
  • Free Thread Apartamento
  • Apartamento Neutro
  • Qualquer Apartamento

O modelo de threading preferido para COM+ é o apartamento neutro. No entanto, se não especificares um modelo de threading para o teu componente, o COM+ usará o apartamento da thread principal, que é o padrão.

Observação

Para obter informações mais detalhadas, consulte Escolhendo o modelo de threads.

 

A tabela a seguir mostra o modelo de programação para apartamentos em COM+.

Modelo Apartamento Grátis Ambos Neutro Não especificado
Operação de um único fio, não principal Criado no apartamento atual Criado em ambiente de apartamento multithreaded Criado no apartamento atual Criado em apartamento neutro Criado em apartamento roscado principal
Monothread, principal Criado no apartamento atual Criado em apartamento multithread Criado no apartamento atual Criado em apartamento neutro Feito no apartamento atual
Multithreaded Criado no apartamento de um único encadeamento host Criado em ambiente de multithreading Criado em multithreading apartment Criado em apartamento neutro Criado em apartamento roscado principal
Neutro (no segmento STA) Este segmento foi criado no apartamento de execução única do host. Criado em apartamento multithreaded Criado em apartamento neutro Criado em apartamento neutro Criado em apartamento roscado principal
Neutro (no segmento MTA) Criado no apartamento de execução única do host Criado em apartamento multithread Criado em apartamento neutro Criado em apartamento neutro Criado em apartamento roscado principal

 

ThreadingModel