作者提到:
1、如果线程调用CoInitializeEx()是使用到了COINIT_APARTMENTTHREADED标识时,那么它将执行在私有的套间中,任何其他的线程都不会进入这个套间。
但是我在开发过程中发现竟然有不同的事情:
1、在程序的CXXXXApp类中有成员变量 A m_A,这个变量是对ADO对象的封装类,使用到了COM库,并在A的构造函数中使用到了CoInitialize():
2、在CXXXXApp::InitInstance中调用了一些ADO对象的方法,对m_A进行初始操作。
3、在CXXXXApp::InitInstance中创建一子线程,并将m_A作为参数传给该子线程。为什么可以在这个子线程用m_A呢,这个子线程可没有进入m_A的套间啊?
1、如果线程调用CoInitializeEx()是使用到了COINIT_APARTMENTTHREADED标识时,那么它将执行在私有的套间中,任何其他的线程都不会进入这个套间。
但是我在开发过程中发现竟然有不同的事情:
1、在程序的CXXXXApp类中有成员变量 A m_A,这个变量是对ADO对象的封装类,使用到了COM库,并在A的构造函数中使用到了CoInitialize():
2、在CXXXXApp::InitInstance中调用了一些ADO对象的方法,对m_A进行初始操作。
3、在CXXXXApp::InitInstance中创建一子线程,并将m_A作为参数传给该子线程。为什么可以在这个子线程用m_A呢,这个子线程可没有进入m_A的套间啊?
解决方案 »
- CreateCompatibleBitmap函数的表述不一定相同什么意思 ???
- 鼠标滚轮消息
- 炫彩界面库开源啦
- 答上,马上奉上这20分!角度怎么转化为弧度?RADIAN(angle);怎么不行啊?
- 如何开发一个可以编译c语言的开发环境
- Cannot open precompiled header file: 'Debug/Trade_MIS.pch':
- 如何实现jpg图片的导入
- 如何在不知道类名的情况下动态的创建类实例呢?
- 编写一个简单的动态库(DLL),其中至少导出(export)一个函数。
- 一个简单的小问题!
- 不知道你们考虑过没有这个问题,console窗体
- VC环境下在BMP格式的图像中根据边缘特征的丰富程度标记一个符号
如果在作为参数传入时,在程序运行,网络断开时,调用Connection的Open函数会成功的,网络重新连接后,又能成功调用,并建立无效的连接,即看似正常的连接,在执行数据库操作蝗,又被检测到是连接断开。