一直弄不明白一个问题:在机器A上注册有一个COM组件MyCom,在A机器上有N个进程,每个进程中有M条线程会使用到MyCom,那么会产生多少个MyCom的实例?在不同线程模型下这个问题的答案应该不一样吧?
请高手用自已的语言来描述一下这个问题(请不要让我看资料,我就是看不懂资料才来发贴的。)

解决方案 »

  1.   

    我照你的话做了:代码如下:
    在接口类的构造函数中,我有一个输入,将接口类的指针地址输入;
    然后
    int main(int argc, char* argv[])
    {
    HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);

    hr = ::CoCreateInstance....
    //然后产生一条线程
    }
    线程函数
    DWORD WINAPI ThreadProc(LPVOID lpv)
    {
    HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
        hr = ::CoCreateInstance
    }这时输入的结果显示,的确会执行两次构造,但我奇怪的是他们的指针地址都是一样的。这是怎么回事呢?