网站大量收购独家精品文档,联系QQ:2885784924

程序设计语言原理Principle of Programming Language课程.pptVIP

程序设计语言原理Principle of Programming Language课程.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计语言原理 程序设计语言原理 Principle of Programming Language 第7章 并发和任务 * Hubei University of Technology School of Computer Science Engineering 2006.2 主讲:熊才权 湖北工业大学计算机学院 返回 第7章 并发措施 ADA语言中的任务 并发概述 返回 7.7 Ada语言的并行处理机制:任务和同步 1、任务task (1)概念:任务是一种可以并发执行的程序单元。若干个任务可以在单处理机上并发执行,也可以在多处理机上并行执行。 第7章 返回 (2)任务说明:包括规格说明和体说明 规格说明::=task[type]任务标识符[可判定部分][is任务定义] 有type说明的是任务类型,否则说明的是任务对象。 任务定义::={任务项} [private {任务项}] end [任务标识符] 任务项::=入口项说明|表示子句 任务体::=task body 任务标识符号 is 说明部分 begin 处理语句序列 [接受语句] end[任务标识符] 接受语句::=accept 入口标识符 [(入口序标)][形参部分] [do 语句序列 end [入口标识符]]; 第7章 返回 2、任务的启动和终止 外包任务的程序单元(子程序、程序包、任务),语句序列将要启动时,所有任务要在该程序单元的语句序列执行前同时并发执行,只有所有任务和该程序单元的语句序列全部执行完毕,该程序单元的执行才结束。 例: 第7章 procedure PROC is task A; task body A is …… end A; task B; task body B is …… end B; begin //A.B被活化启动,同时执行 …….//PROC的语句序列 end PROC 返回 第7章 3、说明: (1)规格说明:定义该任务的用户可见的一些入口,即其他任务可以利用的通信路径,该任务的用户只能通过任务提供的入口来同此任务通信或交互。 (2)入口项说明:其形式类似于子程序规格说明,即先写入口名字 ,后面跟形参。这些形参也可以有IN、OUT、IN OUT模式,定义某个特定消息的传递方向。可以在子程序、程序包、任务中调用任务的入口。 并非每个任务都有入口项,该任务对于其它任务没有可见的通信路径,通过调用其它任务的入口来完成其功能。 返回 第7章 (3)表示子句:用来表示任务的优先级以指示任务的紧迫程度。 例: task protected_stack is pragma priority(7);--表示子句 entry pop(element:out integer);--入口声明 entry push(element:in integer); end protectde_stack ; 返回 第7章 (4)任务类型:带有type的任务规格说明声明了一个任务类型。当一些任务具有相同性质时,可把它们写成一个任务类型。有了任务类型可以声明任务的对象。 例: task type resource is entry release; entry seize; end resource;--任务类型 task body resource is …… end resource;--任务体 Buffer: resource;--说明一个任务对象 Segment:array (1..100) of resource;--说明一个任务对象数组 返回 第7章 (5)任务体:每个任务或任务类型的规格说明都有一个任务体与之相关联。任务体定义了该任务或该任务类型的动作,其形式与子程序体形式相似,由实现语句和可选的异常处理段组成。在这引起语句中应有规格说明中声明的那些入口的接收语句。 返回 第7章 (6)接受语句:如果为任务定义了入口,则它的任务体中相应于各个入口至少应该包括一个接受语句。接受语句类似于一个子程序体。 入口序标用于指定一个入口,形参部分要同相应入口声明中的形参部分完全相同。在发生入口调用时,接受语句的执行如同子程序调用一样,将与模式为in和in out的形参相结合的

文档评论(0)

hushuidhd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档