最近我读了一篇有趣的博客,比较了互斥量和信号量:
"
http://www.feabhas.com/blog/2009/09/mutex-vs-semaphores-%E2%80%93-part-1-semaphores/
"
引用它:
"
如果在该任务处于关键区域时发生上下文切换,而另一个任务也在P(S)上调用,那么第二个任务(以及任何后续任务)将被阻止进入关键区域操作系统处于等待状态.稍后,第一个任务被重新安排,并调用V(S)表示它已离开关键区域.现在允许第二个任务访问关键区域.
如果信号量的确如此,那么互斥量也是如此吗?我不认为它是真的,好像一块代码被锁定,它应该是"原子的",不能被上下文切换或中断.我对吗?