佚名通过本文主要向大家介绍了com多线程调用,线程 初始化com库,com线程模型,.com同步课堂,ic.qq.com同步助手等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: COM中套间线程间数据同步的问题
描述:
描述:
问题是这样的:
我的项目是一个EXE项目,实现了一个COM对象,其中用到了COM的连接点技术。主线程是套间线程,在其中创建了一个COM对象。在COM对象的一个接口方法中新开了一个套间线程,把COM对象的指针通过线程参数传递给了新开的套间线程。通过把新开的套间线程函数声明为COM对象的友元函数,在新开的套间线程中访问了COM对象中的一些私有数据成员。这样就涉及到一个多线程间数据同步的问题:我是否需要对这些新开的套间线程中访问的那些数据进行同步保护?
在《COM原理与应用》中指出:客户调用套间线程中的COM对象的接口方法,那么其调用都是通过套间线程中一个隐含的窗口来进行的,就是说套间线程的消息队列会自动把方法调用同步,套间线程中的对象不需要是线程安全的。但是我在新开的线程中访问的不是套间线程中COM对象的接口方法,而是访问了通过COM对象的指针访问了它的私有成员,那么这种调用是否也经过消息队列呢?如果经过消息队列那么应该就不需要进行数据的同步保护了!

