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

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

ID:52183178

大小:356.50 KB

页数:25页

时间:2020-04-02

程序设计语言原理Principle of Programming Language.ppt_第1页
程序设计语言原理Principle of Programming Language.ppt_第2页
程序设计语言原理Principle of Programming Language.ppt_第3页
程序设计语言原理Principle of Programming Language.ppt_第4页
程序设计语言原理Principle of Programming Language.ppt_第5页
资源描述:

《程序设计语言原理Principle of Programming Language.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、程序设计语言原理PrincipleofProgrammingLanguageHubeiUniversityofTechnology SchoolofComputerScience&Engineering 2006.2主讲:熊才权湖北工业大学计算机学院9/16/20211程序设计语言原理返回第7章并发措施ADA语言中的任务第7章并发和任务并发概述9/16/20212程序设计语言原理返回7.7Ada语言的并行处理机制:任务和同步1、任务task(1)概念:任务是一种可以并发执行的程序单元。若干个任务可以在单处理机上并发执行,也可以在多处理机上并行执行。第7章9/16/

2、20213程序设计语言原理返回(2)任务说明:包括规格说明和体说明规格说明::=task[type]任务标识符[可判定部分][is任务定义]有type说明的是任务类型,否则说明的是任务对象。任务定义::={任务项}[private{任务项}]end[任务标识符]任务项::=入口项说明

3、表示子句任务体::=taskbody任务标识符号is说明部分begin处理语句序列[接受语句]end[任务标识符]接受语句::=accept入口标识符[(入口序标)][形参部分][do语句序列end[入口标识符]];第7章9/16/20214程序设计语言原理返回2、任务的启动和终止外

4、包任务的程序单元(子程序、程序包、任务),语句序列将要启动时,所有任务要在该程序单元的语句序列执行前同时并发执行,只有所有任务和该程序单元的语句序列全部执行完毕,该程序单元的执行才结束。例:第7章procedurePROCistaskA;taskbodyAis……endA;taskB;taskbodyBis……endB;begin//A.B被活化启动,同时执行…….//PROC的语句序列endPROC9/16/20215程序设计语言原理返回第7章3、说明:(1)规格说明:定义该任务的用户可见的一些入口,即其他任务可以利用的通信路径,该任务的用户只能通过任务提供的入

5、口来同此任务通信或交互。(2)入口项说明:其形式类似于子程序规格说明,即先写入口名字,后面跟形参。这些形参也可以有IN、OUT、INOUT模式,定义某个特定消息的传递方向。可以在子程序、程序包、任务中调用任务的入口。并非每个任务都有入口项,该任务对于其它任务没有可见的通信路径,通过调用其它任务的入口来完成其功能。9/16/20216程序设计语言原理返回第7章(3)表示子句:用来表示任务的优先级以指示任务的紧迫程度。例:taskprotected_stackispragmapriority(7);--表示子句entrypop(element:outinteger);

6、--入口声明entrypush(element:ininteger);endprotectde_stack;9/16/20217程序设计语言原理返回第7章(4)任务类型:带有type的任务规格说明声明了一个任务类型。当一些任务具有相同性质时,可把它们写成一个任务类型。有了任务类型可以声明任务的对象。例:tasktyperesourceisentryrelease;entryseize;endresource;--任务类型taskbodyresourceis……endresource;--任务体Buffer:resource;--说明一个任务对象Segment:ar

7、ray(1..100)ofresource;--说明一个任务对象数组9/16/20218程序设计语言原理返回第7章(5)任务体:每个任务或任务类型的规格说明都有一个任务体与之相关联。任务体定义了该任务或该任务类型的动作,其形式与子程序体形式相似,由实现语句和可选的异常处理段组成。在这引起语句中应有规格说明中声明的那些入口的接收语句。9/16/20219程序设计语言原理返回第7章(6)接受语句:如果为任务定义了入口,则它的任务体中相应于各个入口至少应该包括一个接受语句。接受语句类似于一个子程序体。入口序标用于指定一个入口,形参部分要同相应入口声明中的形参部分完全相同

8、。在发生入口调用时,接受语句的执行如同子程序调用一样,将与模式为in和inout的形参相结合的实参传递给形参,然后执行接受语句的语句序列,最后将模式为out和inout的形参的值传递给相应的实参。有了接受语句,就可以用成对的入口/接受结构实现简单的任务通信。接受语句::=accept<入口标识符>[<形参部分>][do语句序列end[<入口标识符>]];入口序标::=表达式9/16/202110程序设计语言原理返回第7章(7)任务不得作为独立的物理模块,它在物理上必须包含在其他子程序,程序包或任务中。9/16/202111程序设计语言原理返回二、任务之间的通信和同

9、步任务之间

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。