底层的读取数据作为一个单独的进程,上层的数据处理作为另外的一个单独的进程,而顶层的数据应用有可能又是一个单独的进程。
因为之间有大数据量的传递,所以内存的申请,维护,释放是一个必须考虑的问题。我如果将这些模块分成COM对象来处理的话是可行的。也可以做到进程间数组数据的通信和交互。但是COM的进程外通信采用的PROXY/STUB DLL来进行数据的列集和散集。据我所知在进行数据传递的时候,本质上COM组件端和客户端的内存申请和释放一般都由组件端申请和客户端释放。表面上是这样,但实际是在COM的散集过程中,已经将保存数据的内存销毁,而在客户端的Proxy的列集过程中重新申请了内存并存放数据。
也就是说这中间其实进行了内存的拷贝和释放。针对大数据量来说这样就不合理了,可不可以在COM中不使用内存拷贝的方式,而采用共享内存的方式来进行数据的传递呢?
请各位指教.Ths