




已阅读5页,还剩94页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章 并行性:互斥和同步 为了充分利用计算机各部分的能力 ,使之并行运行以提高计算机系统的 效率和性能,计算机界一直在坚持不 懈地、不遗余力地发展并行技术。近 几十年来,随着多道程序设计、多处 理器系统、分布式处理系统技术的发 展,操作系统的并行技术不断完善。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. n掌握 n程序顺序执行和并行执行的含义和特点 n并行执行的表示方法 n临界段的定义、目的、设计原则 n同步和互斥的含义、实现方式 n信号量机制:信号量定义、物理意义、信 号量的使用(互斥、同步、生产者/消费者, 阅读者/写入者等)。 n进程通信 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 多道程序设计基础并行程序设计 n并行程序设计 n 进程间的同步和互斥 n 同步和互斥的执行工具 n 同步机构在实际程序设计中的应用 n 进程通信 n *管程 n *Windows NT中的同步和互斥机制 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 1、程序的顺序执行 n 处理机逐条的一次只执行一条指令 n 主存储块一次只访问一个字或字节 n 外设一次只能传送一个数据块 n传统程序设计方法:顺序程序执行 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 程序的顺序执行 n概念: n一个程序由若干个程序段组成,而这些 程序段的执行必须是顺序的,这种程序执 行的方式就称为程序的顺序执行。 n例如: Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 程序顺序执行的特点 n顺序性 n处理机严格按照程序所规定的顺序执行,即每个 操作必须在下一个操作开始之前结束。 n封闭性 n程序一旦开始执行,其计算结果不受外界的影响 ,当程序的初始条件给定之后,其后的状态只能由程 序本身确定,即只有本程序才能改变它。 n可再现性 n程序执行的结果与初始条件有关,而与执行时间 无关。即只要程序的初始条件相同,它的执行结果是 相同的,不论它在什么时间执行,也不管计算机的运 行速度。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 多道程序环境程序设计思想: 并行程序设计 n例:在系统中有n个作业,每个作业都有三个 处理步骤,输入数据、处理、输出,即 Ii,Ci,Pi (i=1,2,3,.,n)。 n这些作业系统中执行时是对时间的偏序,有些 操作必须在其它操作之前执行,这是有序的,但 有些操作是可以同时执行的。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. n例如: I1、C1、P1的执行必须严 格按照I1,C1,P1的顺序 ,而P1与I2,C1与 I2,I3与P1是可以同 时执行的。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. n程序并行执行 (定义) 若干个程序段同时在系统中运行,这些程序的执 行在时间上是重迭的,一个程序段的执行尚未结 束,另一个程序段的执行已经开始,即使这种重 迭是很小的,也称这几个程序段是并行执行的。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 程序并行性的表示之一:有向图 SSS F F F Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 程序并行性的表示之二:并行语言 n并行语言:并行PASCAL,CSP/K语言,MODULA语言 ,扩充的Ada等. n并行语句记号: cobegin S1;S2;S3;.;SN coend; n Si(i=1,2,3,.,n)表示n个语句(程序段),这n 个语句用cobegin和coend括起来表示这n个语句是 可以并发执行的。co是concurrent的头两个字符。 n有的书用parbegin和parend表示。 nSi: 简单语句,复合语句,并行语句。 n编译程序为每个并行语句Si设置一个进程。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 程序并行性表示举例 假设有一个程序由 S0Sn+1个语句, 其中 S1Sn语句是 并发执行的。 程序如下: S0; cobegin S1;S2;S3;.;SN coend; Sn+1; Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 程序并行性表示举例 + * /- BEGIN COBEGIN t1=a-b t2=c-d t3=e/f COEND COBEGIN t4=t1*t2 t5=t3*2 COEND t6=t4+t5 END 算数表达式求值: (a-b)*(c- d)+(e/f)*2 S F Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 并行程序设计的特点 n并行、异步的在系统内运行 n共享各类资源,彼此相互制约 n只有在严格遵循并行程序设计的原则下 ,程序运行的结果才是确定的,否则, 可能产生意料不到的情况 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 并发执行实例:誊抄 n一个循环程序顺序执行的誊抄 算法1: 输入:f 输出:g while (f 不为空) input ; output ; 由这个程序完成誊抄工作是不会出错的 。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 并发执行实例:誊抄 n两个程序并发执行完成誊抄 n设有一台标准输入设备(键盘),和一台标准 输出设备(显示器或打印机),输入程序负责从 标准设备中读取一个字符,送缓冲区中。输出程 序从缓冲区中取数据,送标准设备输出。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 并发执行实例:誊抄 算法:2 cobegin f: Begin while (不为结束符)/* 输入程序段 */ input; /* 从标准输入设备读入一个数据 */ write_buf; /* 将读入的数据送到bufferf */ End g: Begin while(buffer不为空) /* 输出程序段 */ read_buf; /* 从bufferf中取数据 */ output; /* 送打印机输出 */ End coend Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 并发执行实例:誊抄 这两个程序段并发执行时可能出现如下情况: 1、输出程序运行的速度比输入程序快时,有些输出会 重复; 如输入送入了一个字符“A”,输出取出打印“A”,当输入还 未送入新的数据,输出程序已执行,又取出“A”打印,这样 “A”的输出就重复了,出错。 2、输入程序执行的速度比输出程序快时,有些数据会 丢失; 如输入程序送入一个字符“B”,紧接着(当输出程序还未取 走字符“B”)又送入字符“N”,这时输出程序取走的是 “N”,“B”就丢失了。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 并发执行实例:誊抄 三个并发执行程序的誊抄 get程序负责从输入序列f中读取字符并送到缓冲区s中; copy程序把缓冲区s中的数据复制到缓冲区t中去; put程序从缓冲区t中取出数据打印。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 若程序错写成: while(誊抄未完成 ) cobegin copy; put; get; coend 初始状态: f=(R1,R2,.,Rn) s=() t=() g=() 首先顺序执行了一次 get(s,f), copy(t,s) put(g,t) f=(R1,R2,.,Rn) s=(R1),t=(R1),g=(R1) Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 然后,copy,put,get三个程序段并发执行,就有六种组合 : 1、copy;put;get 导致结果:g=(R1,R1) 2、copy;get;put 导致结果:g=(R1,R1) 3、put;copy;get 导致结果:g=(R1,R1) 4、put;get;copy 导致结果:g=(R1,R1) 5、get;copy;put 导致结果:g=(R1,R2) 6、get;put;copy 导致结果:g=(R1,R1) 这就是与时间有关的错误。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 程序并发执行的特点 n失去了程序的封闭性 n如果程序执行的结果是一个与时间无关 的函数,即具有封闭性。 n若一个程序的执行可改变另一个程序的 变量,象二个并发程序完成誊抄的例子, 程序执行的结果不仅依赖于程序的初始条 件,还依赖于程序执行时的相对速度,在 这种情况下就失去了程序的封闭性。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 程序并发执行的特点 n程序并发执行的相互制约 n在多道程序设计的环境下,程序是并发 执行的。即系统中有多道程序在“同时”执 行,这些程序之间要共享系统的资源,程序 之间有合作(通信)的关系。合作与竞争产 生一系列的矛盾,这些矛盾实际上是一种相 互制约,有直接的,也有间接。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 3、进程间的同步与互斥 n同步:指多个进程因协同合作而发生的一种直接制 约关系。进程相互配合,共同完成一个任务。 n互斥:指多个进程因竞争共享资源而发生的一种间 接制约关系。有许多资源在使用上具有排他性,或 者说只能互斥作用,进程间需要互相竞争,才有可 能使用这些资源,如打印机等。 n互斥也是一种同步。一种特殊的同步。 n互斥的概念来自于诸进程对独占使用资源(设备) 的竞争,是进程之间的间接制约关系。 n同步来源于多个进程的合作,是进程之间的直接制 约关系。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 临界段的提出 n多道程序环境进程之间存在资源共享; n硬件:外设 n软件:共享代码段、共享数据结构等; n进程访问共享资源时有约束: n共享资源不支持多进程同时进行读写操作; n共享资源不支持多进程同时访问。 n进程间资源访问冲突 n共享变量的修改冲突 n操作顺序冲突 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. n临界资源:每次只允许一个进程访问的 共享资源。 n临界段:进程中访问临界资源(共享变 量)的代码段。 n访问同一临界资源的各临界段分散在各 有关进程的程序中。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 临界段设计原则 n互斥性:每次允许一个进程停留在临界段。 n有限逗留:进程只能 在临界段内逗留有限时间。 n有限等待:进程不能无限期等待在临界段之外。 n前进性:临界段外进程不可以阻止其他进程进入临界 段。 n有空让进:若有多个进程同时要求进入临界段,应在 有限的时间内让其中一个进入临界段,不应相互阻塞 。 n通用性:不能预期和假定进程进展的相对速度以及可 用的处理器的数目。(如进程的速度、cpu个数、有 无硬件指令支持等)。 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 互斥的实现方法 n临界段就是为了解决互斥资源的访问问 题 n软件实现 n用软件解决方法来解决进程间的同步和 互斥有着很大的局限性,并不是很理想。 n硬件方法 n中断屏蔽方法 n硬件指令方法 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 软件方法 n解法1:双标志、先检查,后表态。 n标志表示是否已在临界段。 n问题:两个进程可能同时进入临界段,违背互斥性 原则。 P1 P2 p1 p2 : while flagj do skip : flagi := true Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. 软件方法 n解法2:用一个指针表示哪个应进入临界段, n问题:强制两个进程轮流进入临界段,违背前进性原则 。 P1让出后,P2使用前, p1不可能在进入 n解法3:双标志,先表态,后查看。 n问题:可能两个进程都进入不了临界段,违背有空让进 。 P1 p2 p1 p2 : flagi := true : while flagj do skip Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile .Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-201
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 龙江物流面试题及答案
- 高考疫情测试题及答案
- java中垃圾回收面试题及答案
- 导图揭秘文言文难题
- 家电公司客户服务管理细则
- 贵州省贵阳市清镇北大培文学校2026届高三化学第一学期期末复习检测模拟试题含解析
- springboot教学管理自动化系统设计与实现
- 21.2.2解一元二次方程-公式法(第1课时)(教学课件)数学人教版九年级上册
- 保安队安全知识培训课件
- 保安灭火器知识培训课件
- 运用PDCA降低I类切口感染率模板课件
- 特种设备安全管理课件-电梯安全知识
- 车辆转让合同电子版下载可打印
- 深圳填海工程施工实施方案
- BB/T 0023-2017纸护角
- 建设集团有限公司安全生产管理制度汇编
- 行为习惯养成教育校本教材
- 疫苗运输温度记录表
- logopress3培训视频教程整套模具大纲
- DB32-T 2945-2016硬质合金刀具PVD涂层测试方法-(高清现行)
- TB∕T 3526-2018 机车车辆电气设备 接触器
评论
0/150
提交评论