进程互斥与同步举例课件_第1页
进程互斥与同步举例课件_第2页
进程互斥与同步举例课件_第3页
进程互斥与同步举例课件_第4页
进程互斥与同步举例课件_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.45进程互斥和同步举例UNIX的信号量4.4.5.2WindowsntUNIX的信号量支持信号量和信号量集,通过semaphoreID来标识有关的系统调用:获取信号量集semget(依据用户给出的整数值key,创建新信号量或打开现有信号量,返回一个信号量ID)信号量控制操作secte(査询信号量状态等)semop(对信号量的原子操作)esk9:/-beej/guide/ipc/semaphores.html44.5.2Windowsnt对象可用(signaledstate)表示该对象不被任何线程使用或所有;1.NT支持的三种同步对象对象名称是由用户给出的字符串。不同进程中用同样的名称来创建或打开对象,从而获得该对象在本进程的句柄。·Mutex对象:互斥对象,相当于互斥信号量,在个时刻只能被一个线程使用。有关的APICreateMutex创建个互斥对象,返回对象句柄OpenMutex返回一个已存在的互斥对象的句柄,用于后续访问ReleaseMutex释放对互斥对象的占用,使之成为可用;·Semaphore对象:相当于资源信号量,取值在0到指定最大值之间,用于限制并发访问的线程数。有关的APIreateSemaphore创建一个信号量对象,指定最大值和初值,返回对象句枘;-OpenSemaphore返回一个已存在的信号量对象的句柄,用于后续访问;ReleaseSemaphore释放对信号量对象的占用;3:fii:toloulu.fi/-avesanen/rinnOhielm/harjoitukseT/iis/ratkaisut/semacon.cprcs.odu.cdu/-wild/windowsnt/spring99/proccss.htmEvent对象:事件对象,相当于"触发器",可通知个或多个线程某事件的出现。有关的APICreateEvent创建一个事件对象,返回对象句柄OpenEvent返回一个已存在的事件对象的句柄,用于后续访问Setevent和Pulseevent设置指定事件对象为可用状态;其中Pulseevent在唤醒等待线程后会把事件对象再变为不可用状态。Reset

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论