我目前正在開發一個簡單的ActiveX控件。這個控件暴露了一小組屬性和方法。現在還不知道ActiveX方法是否會從不同的線程中調用。 爲了準備好面對這種情況,我決定在控件公開的每個方法內實現線程同步。 我是否需要實現這種同步,或者它已經由Microsoft ActiveX框架實現? 我在做些什麼多餘的事情?ActiveX控件是否需要線程同步?
3
A
回答
1
這是如何工作的取決於你的控件使用了什麼線程模型,但假設你的ActiveX控件使用了「APARTMENT」線程模型(它幾乎總是應該),你可以假設你的ActiveX控件上的所有方法都將被調用同一個線程。如果其他線程訪問它們,ActiveX將自動將對該線程的調用編組,以便在該線程上接收它。
同樣的道理,您絕對不能使用從您獲取的線程以外的線程調用的ActiveX對象或COM接口。如果您需要從多個線程進行調用,可以採用這種方式,但這不在此問題的範圍之內。簡介:你不必擔心你的方法被不同的線程調用,所以你不需要擔心同步。
+0
謝謝你,Taxilian – gionny 2011-01-25 22:13:15
相關問題
- 1. 這是否需要同步?
- 2. Monitor.Wait是否需要同步?
- 3. 觀察主線程時是否需要同步觀察值?
- 4. 對象只被多個線程讀取,是否需要同步
- 5. 這個簡單的緩存類是否需要線程同步?
- 6. 是否需要在同步塊內使用線程wait()和notify()?
- 7. Silverlight多線程;需要同步?
- 8. 我是否需要同步writeObject()?
- 9. Java - 是否需要volatile同步?
- 10. 緩存是否需要同步?
- 11. :是否需要任何同步?
- 12. java.util.concurrent.ConcurrentHashMap.putIfAbsent是否需要在同步塊中?
- 13. 該方法是否需要同步?
- 14. 這是否需要顯式同步?
- 15. 是否需要嵌套同步塊?
- 16. 需要爲IE開發ActiveX控件
- 17. 需要簽名的ActiveX控件
- 18. Android:需要異步線程?
- 19. 這是靜態方法線程安全或需要同步
- 20. 對線程安全函數的調用是否也需要同步?
- 21. 是否只有修改局部變量的線程需要同步?
- 22. 如果只有主線程,是否有任何方法需要同步?
- 23. 我是否需要在Google App Engine中使用線程同步工具?
- 24. 需要同步編程
- 25. 線程需要檢查是否連續
- 26. Python多線程:需要建議使用條件變量同步2個線程
- 27. 是否存在微調的ActiveX控件?
- 28. 如果線程使用不同的密鑰,是否需要ConcurrentHashSet?
- 29. 線程同步是否意味着線程安全?
- 30. 我們什麼時候需要實際同步?我的線程自然同步
你可以指望網絡開發者不要使用網絡工作者嗎? http://www.whatwg.org/specs/web-workers/current-work/ – 2011-01-20 00:44:46