原文网址:http://blog.chinaunix.net/uid-23769728-id-3173282.html 这篇博文很长,虽然这是下篇,但还没结束,benchmark方面的东西正在进行中,另外还有一些问题我自己也在和别人讨论...所以我想除了还有“结束语”篇(其实这篇我基本写完了,但是还没最终盖棺论定,有些问题尚需要进一步讨论)之外,还应该会有个“实际性能测试”篇...理想是美好的,但是现实时间总是不够用滴.因此,我想说,如果这篇博文最后烂尾了,请网友们--把我埋在,埋在春天里...…
网摘1:Mutex 的发音是 /mjuteks/ ,其含义为互斥(体),这个词是Mutual Exclude的缩写.Mutex在计算机中是互斥也就是排他持有的一种方式,和信号量-Semaphore有可以对比之处.有人做过如下类比:    * Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个.一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行.    * Semaphore是一件可以容纳N人的房间,如果人不满就可以进去…
上一篇介绍了同步事件EventWaitHandle,以及它的两个子类型AutoResetEvent和ManualResetEvent.下面接着介绍WaitHandle的另外两个子类型Mutex和Semaphore. 互斥体Mutex 互斥体Mutex也是Windows用来进行线程同步的内核对象.当两个或更多线程需要同时访问一个共享资源时,可以使用 Mutex 同步基元,它只向一个线程授予对共享资源的独占访问权. 如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将被挂起,直到第一个线程释放该…
What are the differences between Mutex vs Semaphore? When to use mutex and when to use semaphore? Concrete understanding of Operating System concepts is required to design/develop smart applications. Our objective is to educate  the reader on these c…
linux 内核的几种锁介绍 http://wenku.baidu.com/link?url=RdvuOpN3RPiC5aY0fKi2Xqw2MyTnpZwZbE07JriN7raJ_L6Ss8Ru1f6C3Gaxl1klYrX8sWGjWV0FJigMFo96Umisnf8cdnccboyczsikpye 一. 以2.6.38以前的内核为例, 讲spinlock. mutex 以及 semaphore1. spinlock更原始,效率高,但讲究更多,不能随便用.2. 个人觉得初级阶段不要去深挖…
C#开发者(面试者)都会遇到Mutex,Semaphore,Monitor,SemaphoreSlim这四个与锁相关的C#类型,本文期望以最简洁明了的方式阐述四种对象的区别. 线程安全 教条式理解 如果代码在多线程环境中运行的结果与 单线程运行结果一样,其他变量值也和预期是一样的,那么线程就是安全的: 线程不安全就是不提供数据访问保护,可能出现多个线程先后修改数据造成的结果是脏数据. 实际场景理解 两个线程都为集合增加元素,我们错误的理解即使是多线程也总有先后顺序吧,集合的两个位置先后塞进去就完…
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节点的方法 你真的会玩SQL吗?让人晕头转向的三值逻辑 你真的会玩SQL吗?EXISTS和IN之间的区别 你真的会玩SQL吗?无处不在的子查询 你真的会玩SQL吗?Case也疯狂 你真的会玩SQL吗?表表达式,排名函数 你真的会玩SQL吗?简单的 数据修改 你真的会玩SQL吗?你所不知道的 数据聚合…
深入理解 sudo 与 su 之间的区别 两个命令的最大区别是: sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码.另外一个区别是其默认行为.sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录. Linux su 命令 su 命令的主要作用是让你可以在已登录的会话中切换到另外一个用户.换句话说,这个工具可以让你在不登出当前用户的情况下登录为另外一个用户. su 命…
深入理解 sudo 与 su 之间的区别 作者: Himanshu Arora 译者: LCTT zhb127 在早前的一篇文章中,我们深入讨论了 sudo 命令的相关内容.同时,在该文章的末尾有提到相关的命令 su 的部分内容.本文,我们将详细讨论关于 su 命令与 sudo 命令之间的区别. 在开始之前有必要说明一下,文中所涉及到的示例教程都已经在 Ubuntu 14.04 LTS 上测试通过. Linux su 命令 su 命令的主要作用是让你可以在已登录的会话中切换到另外一个用户.换句话…
select.poll.epoll之间的区别总结 05/05. 2014 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作.但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间.关于这三种IO多路…