スレッド モデル属性
COM+ はスレッドを管理します。 すべての COM コンポーネントには、コンポーネントの開発時に指定できる ThreadingModel プロパティがあります。 このプロパティは、メソッドの実行のためにコンポーネント オブジェクトをスレッドに割り当てる方法を決定します。
コンポーネントサービス管理ツールを使用すると、 コンポーネント フォルダ内のコンポーネントを右クリック、 プロパティをクリック、 コンカレンシー タブをクリックすることで、スレッドモデル プロパティを表示できます。 スレッドモデルで使用可能な値は次のとおりです。
- メイン スレッド アパートメント
- シングル スレッド アパートメント
- フリー スレッド アパートメント
- ニュートラル アパートメント
- すべてのアパートメント
COM+ の推奨スレッド モデルは、 ニュートラル アパートメントです。 ただし、コンポーネントのスレッド モデルを指定しない場合、COM+ は既定の メイン スレッド アパートメントを使用します。
Note
詳細については、「スレッド モデルの選択」を参照してください。
次の表は、COM+ のアパートメントのプログラミング モデルを示しています。
モデル | アパート | Free | 両方 | ニュートラル | 指定なし |
---|---|---|---|---|---|
メインではなく、シングル スレッド | 現在のアパートで作成 | マルチスレッド アパートメントで作成 | 現在のアパートで作成 | ニュートラル アパートメントで作成 | メイン スレッド アパートメントで作成 |
シングル スレッド、メイン | 現在のアパートで作成 | マルチスレッド アパートメントで作成 | 現在のアパートで作成 | ニュートラル アパートメントで作成 | 現在のアパートで作成 |
Multithreaded | ホストシングルスレッドアパートメントで作成 | マルチスレッド アパートメントで作成 | マルチスレッド アパートメントで作成 | ニュートラル アパートメントで作成 | メイン スレッド アパートメントで作成 |
ニュートラル (STA スレッド上) | このスレッドのホスト シングル スレッド アパートメントで作成 | マルチスレッド アパートメントで作成 | ニュートラル アパートメントで作成 | ニュートラル アパートメントで作成 | メイン スレッド アパートメントで作成 |
ニュートラル (MTA スレッド上) | ホストシングルスレッドアパートメントで作成 | マルチスレッド アパートメントで作成 | ニュートラル アパートメントで作成 | ニュートラル アパートメントで作成 | メイン スレッド アパートメントで作成 |
関連トピック