Open棟梁Project - マイクロソフト系技術情報 Wiki
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>COM]]
--STA
--[[MTA]]

* 目次 [#veaac6e2]
#contents

*概要 [#fdcc6197]
-STA:Single-Threaded Apartment
--1スレッドだけ所属できるアパートメント
-STA : Single-Threaded Apartment

-STAオブジェクト
--単一のスレッドのアクセスだけを想定しているオブジェクト。
--単一のスレッドだけオブジェクトにアクセスすることが保障される。
--STAの機構は、Windowsメッセージキューを使用した~
スレッド間マーシャリング(Proxy・Stub)が使用される。
-マルチスレッド・クライアントにスレッドセーフなアクセスを提供する仕組み。

*詳細 [#cd81a2b0]

**STAのアパートメント [#r3863953]
-1スレッドだけ所属できるアパートメント

-アパートメント属性はスレッドに対して設定される。

**STAのオブジェクト [#m68e6c21]
-単一のスレッドのアクセスだけを想定しているオブジェクト。

-単一のスレッドだけオブジェクトにアクセスすることが保障される。

**STAの仕組み [#y8550266]
-スレッド毎にメンバ変数をコピーすることで実現する。~

-メンバ変数は、生成したCOMをスレッドの~
Thread Local Storage (TLS)上にコピーされる。

-また、他のスレッドから呼び出される場合、~
[[Windowsメッセージキュー>ウィンドウ メッセージ]]を使用した~
スレッド間マーシャリング(Proxy・Stub)で直列化される。

*参考 [#xabeea9b]
-[[STA]]と[[MTA]]~
http://eternalwindows.jp/com/apartment/apartment01.html

-COMにおけるアパートメントの概要 - イグトランスの頭の中~
http://dev.activebasic.com/egtra/2014/12/10/703/

-Single-Threaded Apartments - Windows applications | Microsoft Docs~
https://docs.microsoft.com/en-us/windows/win32/com/single-threaded-apartments

----
Tags: [[:Windows]], [[:プログラミング]], [[:.NET開発]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS