首页 > 试题广场 > 下列关于管程的叙述中,错误的是( )
[单选题]
下列关于管程的叙述中,错误的是( )
  • 管程有数据结构,但不包含对数据的操作
  • 管程内部定义函数的具体实现对于外部来说是不可见的
  • 管程是一个基本程序单位,可以单独编译
  • 管程中引入了面向对象的思想
推荐
选A
【分析】

从定义上来看:一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。【A❌】
管程主要有以下特性:
(1)模块化。管程是一个基本程序单位,可以单独编译; 【C✔】
(2)抽象数据类型。管程是中不仅有数据,而且有对数据的操作; 
(3)信息掩蔽。管程外可以调用管程内部定义的一些函数,但函数的具体实现外部不可见; 【B✔】(4)互斥。每次仅允许一个进程在管程内执行某个内部过程。

如果不看互斥性的话,可以看出管程非常类似于面向对象语言中的对象。【D✔】
编辑于 2019-05-23 14:21:57 回复(0)
选A。
管程把信号量及其操作原语封装在一个对象内部,由关于共享资源的数据结构一组针对该资源的操作过程构成的软件模块。所以D正确。
管程主要有以下特性
  • 模块化:管程是一个基本程序单位,可以单独编译; 所以C正确。
  • 抽象数据类型:管程是中不仅有数据,而且有对数据的操作; 所以A错误。
  • 信息掩蔽:管程外可以调用管程内部定义的一些函数,但函数的具体实现外部不可见;所以B正确

编辑于 2019-05-22 22:34:40 回复(0)