某个线程创建的COM对象,并不能简单的把接口指针传递给别的线程使用。
必须先CoMarshalInterThreadInterfaceInStream整编,然后再CoGetInterfaceAndReleaseStream解编。
问题来源:
今天在一个ADO程序中遇到此问题。在主线程创建了10个数据库连接的连接池。然后一个tcp服务为每个连接创建新线程,新线程从连接池申请一个连接,从数据库获取信息然后返回给用户。发现,当线程被频繁创建以后,内存泄漏。经过google,初步认定,是没有整编和解编的原因。
必须先CoMarshalInterThreadInterfaceInStream整编,然后再CoGetInterfaceAndReleaseStream解编。
问题来源:
今天在一个ADO程序中遇到此问题。在主线程创建了10个数据库连接的连接池。然后一个tcp服务为每个连接创建新线程,新线程从连接池申请一个连接,从数据库获取信息然后返回给用户。发现,当线程被频繁创建以后,内存泄漏。经过google,初步认定,是没有整编和解编的原因。