看板 C_and_CPP 關於我們 聯絡資訊
最近在看Component Object Model(COM)中apartment的觀念 覺得很不好理解,apartment的觀念滿抽象的, 說apartment的種類是根據registry中ThreadingModel的值 有分"Apartment" "Free" "Both" "Single", 但是CoInitializeEx()帶入的值又可以選MultiThread或ApartmentThread 那到底一個COM的apartment種類是怎麼決定的?? 然後apartment又有分什麼STA(Single Thread Apartment) 和MTA(Multi Thread Apartment),以及RTA和NTA 整個觀念都混淆了...apartment到底有哪些種類?? 那如果在COM元件中用CreateThread()產生worker thread, 這跟哪種類型apartment之間又有什麼關係嗎?? out-of-proc (.exe) COM 和 in-proc (.dll) COM 的apartment觀念會有什麼不一樣嗎?? 請高手指點 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.27.60.30
Ting1024:這很難...建議用 VB 實作...難度差一百倍 01/22 01:46
james732:我花了好幾年還是覺得抓不到COM的精神....XDDD 01/22 01:46
firose:CodeProject上面有文章說的滿清楚的 01/22 07:53
firose:Understanding The COM Single-Threaded Apartment 01/22 07:56
pracinverse:研究中 01/22 14:28
pracinverse:有辦法看到CoInitializeEx或CoCreateInstance實作的程 01/22 14:29
pracinverse:式碼嗎? 如果有code可以看應該會比較清楚 01/22 14:30
uranusjr:@james732 因為你沒有留鬍子且戴眼鏡 01/22 16:16
uranusjr:http://goo.gl/FB5QT 01/22 16:16
james732:那張圖也太有趣了 XDDDDDDDDDDDDD 01/23 01:14
diabloevagto:什麼圖啊 = =那個連結不是一篇文章嗎 01/23 01:35
james732: (而且他們都 留鬍子戴眼鏡, 沒有例外.) 01/23 01:40
james732:上面那句話有個連結 http://ppt.cc/UAUc 01/23 01:40
james732:眼鏡我本來就有了,所以可以考慮留鬍子 XDDDD 01/23 01:41
diabloevagto:還是沒看到連結...但這不是重點xd 01/23 02:03