操作系统 进程通信-clcnsy.pptVIP

  • 1
  • 0
  • 约1.57千字
  • 约 12页
  • 2016-12-26 发布于江苏
  • 举报
进程通信 (WINDOWS平台 共享内存方法) FZU 030702412 陈楠 主要内容: Mutex和Semaphore区别 共享内存实现邮箱的数据结构 主要函数的实现流程 “实时”显示内容的处理与内存泄漏 可改进的地方 使用系统调用的函数列表 MUTEX和SEMAPHORE区别 在windows环境下两者有着类似之处但不完全相同。 Semaphore可以比喻成是一个银行(临界区)有N人的服务窗口(最大允许同步进程数量),如果申请的客户(进程)少于N就可以办理业务,如果客户满了,就要等待某一个客户服务的结束。 Mutex可以比喻成是一个银行只有1各服务窗口,如果客户A正在办理,那么后续客户申请时只能等待,只有当客户A办理结束离开服务窗口时,后续客户依据申请顺序逐一获得被服务的资格。 MUTEX和SEMAPHORE区别 Mutex在没有被任何线程所拥有时是有信号的,这时任何线程可以使用Wait functions去获取该对象的所有权。当Mutex被某个线程拥有后就处于没信号状态,并且只有当该线程使用ReleaseMutex释放该互斥对象时,它才能被其它线程获得。 在windows环境下一个线程中试图释放另个线程所拥有的Mutex是不会成功的,Mutex只能被所有者线程所释放。 在前面的例子中就是不允许插队。 Semaphore可以被其他进程释放 在前面的例子中就是允许插队,

文档评论(0)

1亿VIP精品文档

相关文档