- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
进程和进程控制
线程
进程互斥和同步
死锁问题
进程间通信
处理器调度;进程互斥和同步;进程间临界资源访问冲突
共享变量的修改冲突
操作顺序冲突;共享变量的修改冲突;3个进程:get,process和print;临界资源的访问过程;同步机制应遵循的准那么;进程互斥和同步;进程互斥的软件方法;算法2:双标志、先检查;算法3:双标志、后检查;算法4:先修改、后检查、后修改者等待;信号量(semaphore);信号量和P、V原语;P原语;V原语;利用信号量实现互斥;利用信号量可以实现进程间的同步;经典进程同步问题;采用信号量机制:
full是“满”数目,初值为0,empty是“空”数目,初值为n。full和empty存在关系:full+empty==n
mutex用于访问缓冲区时的互斥,初值是1
每个进程中各个P操作的次序是重要的:先检查资源数目,再检查是否互斥――否那么可能死锁(为什么?);2.读者-写者问题(thereaders-writersproblem);采用信号量机制:
Wmutex表示允许写,初值是1。
公共变量Rcount表示“正在读”的进程数,初值是0;
Rmutex表示对Rcount的互斥操作,初值是1。;信号量同步的缺点;管程的引入;管程的主要特性;管程作为一个模块,它的结构定义如下:
????monitor_name=MONITOR;
??????共享变量说明;
??????define本管程内部定义、外部可调用的函数名表;
??????use本管程外部定义、内部可调用的函数名表;
??????内部定义的函数说明和函数体
??????{
????????共享变量初始化语句;
??????}
;进程互斥和同步;进程互斥和同步;Mutex对象:互斥对象,相当于互斥信号量,在一个时刻只能被一个线程使用。有关的API:
CreateMutex创立或翻开一个互斥对象,返回对象句柄;
OpenMutex返回一个已存在的互斥对象的句柄,用于后续访问;
ReleaseMutex释放对互斥对象的占用,使之成为可用;;Semaphore对象:相当于资源信号量,取值在0到指定最大值之间,用于限制并发访问的线程数。有关的API:
CreateSemaphore创立一个信号量对象,指定最大值和初值,返回对象句柄;
OpenSemaphore返回一个已存在的信号量对象的句柄,用于后续访问;
ReleaseSemaphore释放对信号量对象的占用;;Event对??:事件对象,相当于触发器,可通知一个或多个线程某事件的出现。有关的API:
CreateEvent创立一个事件对象,返回对象句柄;
OpenEvent返回一个已存在的事件对象的句柄,用于后续访问;
SetEvent和PulseEvent设置指定事件对象为有信号状态;
ResetEvent设置指定事件对象为无信号状态〔nonsignaled〕;同步对象等待;
(2)WaitForMultipleObjects在指定的时间内等待多个对象为有信号状态;
DWORDWaitForMultipleObjects(
DWORDnCount,//对象句柄数组中的句柄数;
CONSTHANDLE*lpHandles,//指向对象句柄数组的指针,数组中 //可包括多种对象句柄;
BOOLbWaitAll, //等待标志:TRUE表示所有对象同时可用 //FALSE表示至少一个对象可用;
DWORDdwMilliseconds//等待超时时限;
);;其他同步方法;互锁变量访问
相当于硬件指令,对一个整数〔进程内的变量或进程间的共享变量〕进行操作。其目的是防止线程间切换的影响。有关的API:
InterlockedExchange进行32位数据的先读后写原子操作;
InterlockedCompareExchange依据比较结果进行赋值的原子操作;
InterlockedExchangeAdd先加后存结果的原子操作;
InterlockedDecrement先减1后存结果的原子操作;
InterlockedIncrement先加1后存结果的原子操作;;死锁问题(DEADLOCK);概述;可重用资源死锁;可消耗资源(consumableresource):可以动态生成和消耗,一般不限制数量。如硬件中断、信号、消息、缓冲区内的数据。;死锁发生条件:;死锁的预防;死锁的检测;死锁的防止;银行家算法规定顾客分成假设干次进行借款,要求在第一次借款时,能说明他的最大借款额。
具体算法:
顾客的借款操作依次顺序进行,直到全部操作完成;
银行
您可能关注的文档
- 《李凭箜篌引》精品课件.ppt
- 最全版本-165页-追寻幸福-西方伦理史视角-超星尔雅通识慕课.docx
- 曲根托福词汇10000电子讲义.doc
- 有机推断-醛醛加成.doc
- windows7性能维护设置.ppt
- 【2012公务员考试华图申论课件】.ppt
- 《简单电路》课件.ppt
- 有理数混合运算大全.doc
- 晶体管超外差收音机实验报告.doc
- 最新中考化学物质推断题.doc
- 2012-2021北京重点校高一(下)期中语文汇编:词类活用.pdf
- 电力市场与经济运行优化:电力市场优化算法_(28).电力市场中的市场力分析.docx
- 医院培训课件:《俯卧位通气的护理》.pptx
- 电力市场与经济运行优化:电力系统能效优化方法_(1).电力市场基础理论.docx
- 电力市场与经济运行优化:电力系统能效优化方法_(9).电力系统运行与能效优化.docx
- 电力市场与经济运行优化:电力系统能效优化方法_(15).电力市场与环境影响分析.docx
- 电力市场与经济运行优化:电力系统优化调度_(1).电力市场基础与原理.docx
- 电力市场与经济运行优化:电力系统优化调度_(14).电力市场改革政策与影响.docx
- 电力市场与经济运行优化:电力系统运行优化_(4).电力系统运行基础.docx
- 2025年航运行业分析.docx
文档评论(0)