《程序设计语言与编译》课程PPT教学课件(高职)第九讲 SIMULA 67协同程序

三. SIMULA67协同程序 1.两个或两个以上程序单元之间交错地 执行这样的程序称为协同程序
三. SIMULA 67协同程序 1. 两个或两个以上程序单元之间交错地 执行,这样的程序称为协同程序

2.SⅠMULA67的协同程序是一个类实例 般形式为 class类名(参数 若设类x,变量y1和y2 参数说明 是对x的引用,那么可 begin 写成 说明; yl:-newx(…)2 语句表1 2: -new x(...) detach 当遇到一个new时,建 言 表2 立类的一个新实例,并 执行类体 en d
2. SIMULA 67的协同程序是一个类实例 一般形式为: class 类名(参数); 参数说明; begin 说明; 语句表1; detach; 语言表2 end 若设类x, 变量y1和y2 是对x的引用, 那么可 写成: y1:-new x(…); y2:-new x(…); 当遇到一个new时, 建 立类的一个新实例, 并 执行类体

3玩牌游戏少 begin boolean gameover; integer winner; s class player(n, hand); integer n integer array hand(1: 13) begin ref(player )next detach whle not gameover do begin出牌; if gameover then winner:n else resume(next) end en
3. 玩牌游戏 begin boolean gameover; integer winner; class player(n,hand); integer n; integer array hand(1:13); begin ref(player) next; detach; while not gameover do begin 出牌; if gameover then winner:=n else resume(next) end end

ref(player array p(1: 4), integer 1; integer array cardS(1: 13); 2 for i =I ste step I until 4 de begin第傢家拿牌; p(i): -new player(i, cards) en for 1: =1 step 1 until 3 do p(i). next: p(i+1); p(4). next: -p(1) resume 打印胜利者( winner end
ref(player) array p(1:4);integer i; integer array cards(1:13); for i:=1 step 1 until 4 do begin 第i家拿牌; p(i):-new player(i, cards) end; for i:=1 step 1 until 3 do p(i).next:-p(i+1); p(4).next:-p(1); resume (1); 打印胜利者(winner) end

四并发单元 1.—个例子 生产者-消费者”问题 单元 producer」 单元 consumer repeat生产一个元素 repeat从缓冲区移出一项; 存放这个元素到缓冲区;对该项执行某个运算 orever orever
四.并发单元 1. 一个例子 “生产者-消费者”问题 单元producer 单元consumer repeat 生产一个元素; 存放这个元素到缓冲区; forever repeat 从缓冲区移出一项; 对该项执行某个运算; forever

2.几个基本概念 ①并发单元的特点诸程序单元并行活动 ②同步问题 正确访问缓冲区:不会向已满的缓冲区写数据, 不会从空缓冲区读数据
2. 几个基本概念 ①并发单元的特点:诸程序单元并行活动 ②同步问题 正确访问缓冲区:不会向已满的缓冲区写数据, 不会从空缓冲区读数据

动作的”不可分”与”可分 设表示所存项目总数 append是生产者向缓 冲区存数的操作, remove是消费者从缓冲区取 数的操作这两个操作都要修改t的值相应执行 操作(1)t:=t+1和(2)t=t-1来实现。假定(1)和 (2)是这样实现的 读t到一个专用寄存器; 更新专用寄存器的值; 将专用寄存器的值写到t;
动作的”不可分”与”可分” 设t表示所存项目总数,append是生产者向缓 冲区存数的操作,remove是消费者从缓冲区取 数的操作,这两个操作都要修改t的值,相应执行 操作(1)t:=t+1和(2)t:=t-1来实现。假定(1)和 (2)是这样实现的: 读t到一个专用寄存器; 更新专用寄存器的值; 将专用寄存器的值写到t;

互斥:执行(1)时不能开始执行(2),反之亦然。 即、(1)和(2)必须以互斥的方式执行,(1)或(2)就 像不可分的操作。 ③进程的并发性诸进程的执行概念上是可重 叠的(即正在执行的进程尚未终止,另一个进 程可能开始执行)
互斥:执行(1)时不能开始执行(2),反之亦然。 即,(1)和(2)必须以互斥的方式执行,(1)或(2)就 像不可分的操作。 ③进程的并发性:诸进程的执行概念上是可重 叠的(即正在执行的进程尚未终止,另一个进 程可能开始执行)

3.信号灯 信号灯是一个数据对象,该数据对象采用一个 整数值,并可用原语P和Ⅴ对它进行操作。信号 灯在说明时以某个整数值对它初始化
3. 信号灯 信号灯是一个数据对象,该数据对象采用一个 整数值,并可用原语P和V对它进行操作。信号 灯在说明时,以某个整数值对它初始化

①P、V操作的定义 P(S): if s>0 then S: s-1 else挂起当前进程 V(s):if信号灯上有挂起的进程 then唤配进程 else s =S+1
①P、V操作的定义 P(s): if s>0 then s:=s-1 else 挂起当前进程 V(s): if 信号灯上有挂起的进程 then 唤配进程 else s:=s+1
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十一讲 一类说明语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十五讲 循环优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十四讲 代码优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十三讲 控制语句也可采用改写文法的方法.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十七讲 栈式分配.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十六讲 运行时存储空间管理.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十讲 含数组元素的赋值语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十二讲 一类控制语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二讲 强制式语言.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第八讲 控制结构.ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第一章 计算机应用的数学基础(汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第五章 材料数据库与专家系统 (汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第四章 计算机辅助材料的测试与分析(汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第三章 相图的计算机分析与计算(汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第二章 材料科学中的数值模拟与计算(汤爱涛).ppt
- 《photoshop》讲义(电子课件).doc
- 《计算机图形学》课程教学资源:第2章 实面积图形的生成(赵立强).ppt
- 《Matlab入门教程》教学资源:学习参考资料.doc
- 《计算机网络技术教程》第9章 各种n7网络工作站的连接.ppt
- 《计算机网络技术教程》第8章 NT网络中的TCP/IP管理.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第六讲 类型检查.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第七讲 抽象数据类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第三讲 程序单元.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十八讲 SLR分析表的构造.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十二讲 编译概述.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十讲 程序设计语言和编译程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十九讲 代码生成和代码优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十六讲 优先关系表的构造.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十七讲 LR分析法.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十三讲 自顶向下语法分析.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十四讲 预测分析程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十五讲 自底向上语法分析.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十一讲 自动机.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第四讲 用户定义类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第五讲 组合类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第一讲 绪论(主编:王晓斌).ppt
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末一.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_实践考试方案.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末二.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末三.doc