zoukankan      html  css  js  c++  java
  • com线程模型实验之二

    通过第一篇文章的实验我们的出了如下的结论:

    1.如果com组件的线程模型与所处的套间模型不匹配的话,com库将会自动另外开启一个线程,并初始化为与之匹配的线程套间,并在此套间中创建COM对象。比如在单线程套间中创建Free线程模型的com组件或者在多线程套间中调用single或者apartment类型的com组建都会单独创建一个线程来创建组件。因为一个线程只能拥有一种类型的套间。并且我们发现如果多个线程套间都是不匹配的,则他们创建的组件对象都会共享同一个线程套间。如果用Process Explorer我们会看到如果套间不兼容的时候创建组件会多出很多线程。

    2.对于single线程模型的组件,在创建后,所有对single线程模型的对象的调用都会集中到一个线程套间中调用。

    3.当前看来多线程套间中调用free线程模型的组件与单线程套间中调用apartment类型的组件都是一样,但是总要有不一样的地方吧,那是肯定的,后面我会继续说。

    后面我会再来实验一下线程间传递组件对象接口指针,未完待续。

  • 相关阅读:
    C# Brush Color String 互相转换
    WPF Binding ElementName方式无效的解决方法--x:Reference绑定
    WPF动画应用-几何图形扩散动画
    Timer更新UI的合理办法
    员工管理
    EF CodeFirst 实例Demo
    C# 星期相关代码实例
    WPF Canvas实现进度条
    DispatcherTimer 应用实例
    数据库操作命令
  • 原文地址:https://www.cnblogs.com/sosopop/p/1768566.html
Copyright © 2011-2022 走看看