1.可以推测到,当线程试图锁定一个未加锁的互斥对象时,POSIX线程库将同意锁定,而不会使线程进入睡眠状态。
2.我们利用其拓扑特性,在节点数为m的旋转图上,发展出三种互斥问题演算法.
3.首先,让我们考虑以下情况:线程为查看已链接列表而锁定了互斥对象,然而该列表恰巧是空的。
4.包含消息的创建发送接受,文件的共享互斥读写问题.
5.这有点自欺欺人,因为你不会知道互斥锁什么时候会被释放,而长时间的轮转会造成效率低下。
6.它将返回一个句柄,任何需要互斥信号量对象的函数都可以使用这个句柄,因为对这个互斥信号量提供了所有的访问权限。
7.这两个函数调用的作用就是警告其它线程,要它们继续睡眠并等待轮到它们对互斥对象加锁。
8.但是互斥锁比当前的内核信号量选项更快,并且更加紧凑,因此如果它们满足您的需求,那么它们将是您明智的选择。
9.涉及到线程同步与互斥,临界区访问问题以及避免死锁的方法.