Condividi tramite


Attributo del modello di threading

COM+ gestisce automaticamente i thread. Ogni componente COM ha una proprietà ThreadingModel che è possibile specificare quando si sviluppa il componente. Questa proprietà determina il modo in cui gli oggetti del componente vengono assegnati ai thread per l'esecuzione del metodo.

È possibile utilizzare lo strumento di amministrazione di Servizi componenti per visualizzare la proprietà del modello di threading facendo clic con il pulsante destro del mouse su un componente nella cartella Componenti , scegliendo Proprietà e quindi facendo clic sulla scheda Concorrenza . In Modello di threading i valori possibili sono i seguenti:

  • Apartment thread principale
  • Apartment a thread singolo
  • Apartment thread libero
  • Appartamento neutrale
  • Qualsiasi appartamento

Il modello di threading preferito per COM+ è l'appartamento neutro. Tuttavia, se non si specifica un modello di threading per il componente, COM+ usa l'apartment del thread principale, ovvero l'impostazione predefinita.

Nota

Per informazioni più dettagliate, vedere Scelta del modello di threading.

 

La tabella seguente illustra il modello di programmazione per appartamenti in COM+.

Modello Appartamento Libero Entrambi Neutra Non specificato
Thread singolo, non principale Creato nell'apartment corrente Creato in apartment multithreading Creato nell'apartment corrente Creato in appartamento neutro Creato in apartment a thread principale
Thread singolo, main Creato nell'apartment corrente Creato in apartment multithreading Creato nell'apartment corrente Creato in appartamento neutro Creato nell'apartment corrente
Multithreading Creato nell'apartment a thread singolo host Creato in apartment multithreading Creato in apartment multithreading Creato in appartamento neutro Creato in apartment a thread principale
Neutro (nel thread STA) Creato in apartment a thread singolo host per questo thread Creato in apartment multithreading Creato in appartamento neutro Creato in appartamento neutro Creato in apartment a thread principale
Neutro (nel thread MTA) Creato nell'apartment a thread singolo host Creato in apartment multithreading Creato in appartamento neutro Creato in appartamento neutro Creato in apartment a thread principale

 

ThreadingModel