zoukankan      html  css  js  c++  java
  • 列集

    在计算机科学中,列集(Marshalling,有时也写作Marshaling)是将一个对象的内存表示(memory representation)变换到一种适合存储或传输的数据格式的过程。它经常被用于当数据必须要在计算机程序的不同部分之间,或者是一个程序到另一个程序之间传送的时候。列集与序列化(serialization)相似,用于某个对象和远程对象之间的通信。它简化了复杂的通信。[1]

    COM中的列集编辑

    在微软的COM(组件对象模型)中,列集是将参数打包与解包,使得远程过程(remote procedure)可以进行的过程。[2] 当接口指针要跨越COM单元(apartment)边界(也就是在COM库的实例之间跨越)时,必须要对其进行列集操作。[1]

    不同的参数以不同的方式进行列集。例如列集一个整形参数只需要简单地将这个值复制到消息缓存中(即便是这么一个简单的例子,也可能存在着跨计算机时需要处理的字节顺序)。列集一个数组是一个更复杂的过程。数组成员被以特定的顺序复制,从而使另一端可以精确地重构数组。[2]

    对于标准的列集方法(standard marshaling),代理对象(proxy)和存根代码(stub)对于接口来说都是系统宽度(systemwide)的资源,并且它们使用遵循标准协议的通告进行交互与通信。

    除了标准列集法还有另一个选择,那就是自定义的列集方法(custom marshaling)。对于任何一个给定的接口,对象可以选择COM提供的标准列集法或者是自定义列集法。一旦为给定的接口做出选择,这种选择将在一个对象的生命周期里一直保持不变。

    组件之间的通信

    clip_image001

  • 相关阅读:
    记录一次Jmeter性能测试
    【转】解疑性能测试之集合点
    WebService的发布及客户端的调用
    Jmeter性能测试之如何写Java请求测试用例类
    Vue nextTick用法
    Geolocation 地理定位
    Vue 生命周期及运用场景
    CSS3 动画基本使用
    Electron菜单
    Electron + vue 项目安装vue-devtools调试工具
  • 原文地址:https://www.cnblogs.com/cppss/p/3822122.html
Copyright © 2011-2022 走看看