eygle.com   eygle.com
eygle.com  
 

« 美西游记之 - 圣地亚哥shamu秀 | Blog首页 | CURSOR_SPACE_FOR_TIME 参数废弃 »

关于Mutex的笔记

作者:eygle |【转载时请以超链接形式标明文章和作者信息及本声明
链接:

Mutex 的发音是 /mjuteks/ ,其含义为互斥(体),这个词是Mutual Exclude的缩写。

Mutex在计算机中是互斥也就是排他持有的一种方式,和信号量-Semaphore有可以对比之处。有人做过如下类比:


  • Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个。一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行。

  • Semaphore是一件可以容纳N人的房间,如果人不满就可以进去,如果人满了,就要等待有人出来。对于N=1的情况,称为binary semaphore。一般的用法是,用于限制对于某一资源的同时访问。

对于Binary semaphore与Mutex,这两者之间就存在了很多相似之处:

在有的系统中Binary semaphore与Mutex是没有差异的。在有的系统上,主要的差异是mutex一定要由获得锁的进程来释放。而semaphore可以由其它进程释放(这时的semaphore实际就是个原子的变量,大家可以加或减),因此semaphore可以用于进程间同步。Semaphore的同步功能是所有系统都支持的,而Mutex能否由其他进程释放则未定,因此建议mutex只用于保护critical section。而semaphore则用于保护某变量,或者同步。


历史上的今天...
      >> 2006-10-10文章:
             《深入浅出Oracle》一书重印
      >> 2005-10-10文章:
             Oracle9i新特点:SPFILE的使用
------
这篇 【关于Mutex的笔记】来自 www.eygle.com | CSDN技术网摘| del.icio.us|365Key

By eygle on 2008-10-10 14:46 | Comments (0) | Posted to Internal | Edit |Pageviews:

相关文章 随机文章
  • Oracle10gR2中的Mutex竞争的案例
  • CURSOR_SPACE_FOR_TIME 参数废弃
  • DBA警世录:bootstrap$的禁忌
  • Varchar2(4000)能存多少数据?
  • 497天是一个轮回-记Linux时钟的回转
  • Oracle支撑起世界最大人口身份信息数据库
    Using Create directory & UTL_FILE in Oracle
    Oracle Database 11g 体系结构图下载
    帮朋友发招聘启事:数据挖掘高级工程师
    一路向北
    搜索本站:

    留言 (0)

    发表留言:



    Remember Me?
    (输入验证码后方可评论,谢谢支持)



    CopyRight © 2004 eygle.com, All rights reserved.