为什么它被称为编组

本文关键字:被称为 为什么 | 更新日期: 2023-09-27 17:57:59

可能重复:
为什么编组的概念被称为这样?

为什么两种类型之间的转换被称为编组!Marshal背后的含义是什么,为什么我们不使用convert这个词,有什么区别吗。请尽量保持简单的英语。

为什么它被称为编组

因为这不是一回事。

来自维基百科:

在计算机科学中,编组(有时拼写为marshaling,类似于序列化)是将对象的内存表示转换为适合存储或传输的数据格式的过程。当数据必须在计算机程序的不同部分之间移动或从一个程序移动到另一个程序时,通常会使用它。

元帅一词来自军事术语。比如去指挥一支部队,然后把他们转移到其他地方。来自字典:

安排妥当;有序地出发;排列清楚:

  • 整理事实;整理论点
  • 阵列,如战斗
  • 隆重地引导或领导:他们的主人把他们带进房间

通常在跨越某种边界时使用"编组"一词。三个明显的用例:

  • 远程处理:RPC数据被整理到一台单独的机器上(通常)
  • AppDomains:跨越AppDomain边界的对象需要进行编组(也可以通过引用进行编组)
  • 跨线程调用:如果使用Control.Invoke或类似的方法,则称为将委托调用编组到不同的线程;所以在这种情况下,线程就是边界

不涉及这类边界的纯转换被称为纯转换。

关于在这里使用"元帅"一词的原因,请参阅Etienne的回答。

两种类型之间的转换不称为封送处理。

编组是在内存空间之间移动对象,例如不同的进程、不同的计算机或不同的COM单元。通常需要序列化,以创建一个不使用在其他内存空间中没有意义的指针的可移植编码,并且在序列化期间类型会发生变化,但类型转换和封送处理是正交的概念。特别是,编组intdouble等简单类型(或这些类型的结构)可以通过简单的复制而无需转换来完成。

从语言学角度来看,编组站是铁路公司重新安排列车的地方。