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 |
Argomenti correlati