·进程对过程的调用可以加以限制。 。例如,规定进程可以定义两类过程: 公用过程和局部过程。 ·一个进程只能调用其它进程所定义的公用过程。 局部过程只能为它所属进程来调用。 ·为了易于验证和实现,可规定不许递归调用
⚫ 进程对过程的调用可以加以限制。 ⚫ 例如,规定进程可以定义两类过程: 公用过程和局部过程。 ⚫ 一个进程只能调用其它进程所定义的公用过程。 ⚫ 局部过程只能为它所属进程来调用。 ⚫ 为了易于验证和实现,可规定不许递归调用
6.2分布式进程 卫式命令 。在汉森提出的分布式程序设计语言建议中,还定义了 些称之为卫式命令和卫式区域的语句来控制进程执 行的同步。这些语句是: 1.f语句 if B1:S1B2:S2......end 其意思是:当B1,B2,.中某个条件为真时,选择某个相 应的语句执行之,否则停止执行程序。例如,执行语句 if B1:S1B2:S2 B3:S3 end 时,若B1,B3为真,则执行完S1或S3后,这个语句就执行 完了。究竟执行S1还是S3,语法不作规定,也就是说,这是 不确定的。如果执行这个语句时,B1,B2和B3均为假,那 么就停止执行相应的程序。这往往意味着有错误发生了
6.2 分布式进程 卫式命令 ⚫ 在汉森提出的分布式程序设计语言建议中,还定义了 一些称之为卫式命令和卫式区域的语句来控制进程执 行的同步。这些语句是: ⚫ 1. if语句 if B1:S1|B2:S2|……end 其意思是:当B1,B2,……中某个条件为真时,选择某个相 应的语句执行之,否则停止执行程序。例如,执行语句 if B1:S1|B2:S2|B3:S3 end 时,若B1,B3为真,则执行完S1或S3后,这个语句就执行 完了。究竟执行S1还是S3,语法不作规定,也就是说,这是 不确定的。如果执行这个语句时,B1,B2和B3均为假,那 么就停止执行相应的程序。这往往意味着有错误发生了
。2.do语句 do B1:S1B2:S21......end 其意思是:只要B1,B2,.中某个条件为真,就 选择某个相应的语句执行之,直到所有条件均为假 时这个语句才执行完毕。显然 do B:S endWhile B do S end 是一样的。所以do语句是while语句的扩充
⚫ 2. do语句 do B1:S1|B2:S2|……end 其意思是:只要B1,B2,…中某个条件为真,就 选择某个相应的语句执行之,直到所有条件均为假 时这个语句才执行完毕。显然 do B:S end和While B do S end 是一样的。所以do语句是while语句的扩充
。3.When语句 When B1:S1B2:S2|......end 其意思是等到B1,B2,..中某个条件为真时,就 执行某个相应的语句。如果多个条件为真,则选择 某个相应的条件来执行
⚫ 3. When语句 When B1:S1|B2:S2|……end 其意思是等到B1,B2,…中某个条件为真时,就 执行某个相应的语句。如果多个条件为真,则选择 某个相应的条件来执行
4.cycle语句 cycle B1:S1B2:S2|......end 其意思是:不断地重复执行When语句 When B1:S1B2:S2......end 因此上面的cycle语句等价于 Do true:When B1:S1B2:S2......endend
⚫ 4. cycle语句 cycle B1:S1|B2:S2|……end 其意思是:不断地重复执行When语句 When B1:S1|B2:S2|……end 因此上面的cycle语句等价于 Do true: When B1:S1|B2:S2|……end end