与传统程序设计模式中的过程调用相比,消息传递机制有何本质区别?

题目

与传统程序设计模式中的过程调用相比,消息传递机制有何本质区别?

参考答案和解析
正确答案: (1)消息传递必须给出信道的信息,通常要指出明显的接受方。
(2)由于接受方是一通信实体,具有保持状态的能力,所以同一发送方在不同时刻向同一接受方发送同样的信息,可因接受方的当前状态不同而得到不同的结果。
(3)消息传递可以是异步的,发送方可以不必等待接受方返回信息就可以继续执行后面的操作,因而支持程序的并发和分布执行,而过程调用只能是同步的,本质上是串行的。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

与传统的C语言程序设计相比,VB最突出的特点是( )

A.结构化程序设计

B.程序开发环境

C.事件驱动编程机制

D.程序调试技术


正确答案:C

第2题:

在消息机制中,有哪些系统调用?并说明它们的用途.在UNIX中,消息机制向用户提供了四个系统调用.


本题答案:A.msgget(),用来建立一消息队列,或者获取一消息队列的描述符;
B.msgsnd(),用于向指定的消息队列发送一个消息,并将该消息链接到该消息队列的尾部;
C.msgrcv(),用于从指定的消息队列中接收指定类型的消息;
D.msgctl(),用来读取消息队列的状态信息并进行修改.

第3题:

●下面关于面向对象方法中消息的叙述,不正确的是 (4) 。

(4) A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息

B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息

C.应用程序之间可以相互发送消息

D.发送与接收消息的通信机制与传统的子程序调用机制不同


正确答案:B
【解析】在系统中既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此的通信,这样的方法才称为"面向对象的方法"。

第4题:

在企业应用系统开发中,方法调用(Method Invocation)和消息(Messaging)机制是两种常用的数据处理与交换方式,下面关于这两种机制的描述,不正确的是()

  • A、方法调用一般具有同步特性,而消息机制具有异步的特点
  • B、从可靠性方面考虑,消息机制比方法调用更有优势
  • C、从效率方面考虑,一般情况下消息机制比方法调用更有优势
  • D、消息调用机制可以支持多个数据的发送者和接收者,更加灵活

正确答案:C

第5题:

()语言具有的特征包括:对象生成功能、消息传递机制、类和遗传机制。

A、结构化程序设计

B、面向对象

C、模块化程序设计

D、程式化程序设计


本题答案:B

第6题:

下面是汇编语言程序设计中关于过程调用和宏调用的叙述,其中错误的是:

A.调用方法相同,都是在程序执行过程中调用具有某种功能的目标程序,然后再通过执行RET指令返回主程序

B.过程调用的执行速度比宏调用慢

C.宏调用一般比过程调用占用较多的内存空间

D.过程调用时主程序和子程序之间的信息传递没有宏调用时传递信息方便


正确答案:A
解析:过程调用和宏调用从实现方式上是完全不同的,宏调用是通过拷贝目标代码来实现的,过程调用是通过转移执行位置来实现的。

第7题:

面向对象程序设计语言提供的(45)机制可以实现发送一个通用的消息而调用不同类的方法。

A.函数调用

B.多态

C.封装

D.继承


正确答案:B
解析:函数调用的基本目的是实现模块化。封装实现的是信息隐藏,继承则实现复用,多态则是在调用时才决定选择哪一个具体的实现。

第8题:

● 在企业应用系统开发中,方法调用(Method Invocation)和消息(Messaging)机制是两种常用的数据处理与交换方式,下面关于这两种机制的描述,不正确的是 (33) 。

(33)

A. 方法调用一般具有同步特性,而消息机制具有异步的特点

B. 从可靠性方面考虑,消息机制比方法调用更有优势

C. 从效率方面考虑,一般情况下消息机制比方法调用更有优势

D. 消息调用机制可以支持多个数据的发送者和接收者,更加灵活


正确答案:C

第9题:

在下列机制中,(请作答此空)是指过程调用和响应调用所需执行的代码在运行时加以结合;而 ( )是过程调用和响应调用所需执行的代码在编译时加以结合。

A.消息传递
B.类型检查
C.静态绑定
D.动态绑定

答案:D
解析:
动态绑定是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程称为动态绑定。静态绑定是指在程序编译过程中,把函数(方法或者过程)调用与响应调用所需的代码结合的过程称之为静态绑定。

第10题:

Linux让所有任务都运行在(),直接调用函数,无须消息传递,避免了()机制的开销。


正确答案:内核态;进程间通信(IPC)