2011-05-01 32 views
6

信号量类别概述在developer.android.com看起来不错 - 对于那些已经熟悉概念和术语的人来说。信号量:我在哪里学习许可,公平,趸船等基本概念

我熟悉一些首字母缩写词和其他行话(如FIFO,锁等),但其他如permits,fairnessbarging对我来说是新的。

你能推荐一个好的在线资源来解释这些概念吗? (我可能知道什么许可公平性是但barging在这一点上是未知的)。

编辑:在收到下面的两个答案后,我意识到我需要刷新信号量(重新获得()术语)。我发现下面的资源是有用的:由 理查德S.博士

  1. Semaphore_(programming)
  2. Introduction to Semaphores

回答

1

没有在这些前来自己,但想到我会研究和总结我的发现,因为它是更好地在网上回答比外部链接(虽然,没错,OP是推荐阅读后):

许可证是允许受信号量保护的代码的并发访问次数。尽管信号量通常是简单的Mutex,但有时候需要有多个线程触发代码。这类似于打电话给一个呼叫中心,其中有一个电话号码连接到8个线路/运营商。

公平性是当信号量以请求者的严格顺序提供给请求者时。保持呼叫中心的类比,这意味着等待队列是一个严格的FIFO。

barging本质上是一个带外请求,它将一个线程置于队列的顶端以获得信号量。比喻是首选客户(或内部呼叫)进入呼叫中心队列的顶部,而不是等待轮到他们。

如果既没有公平指定也不闯入,那么它的规范内授予访问最近的请求,这取决于上下文切换的定时。 “电话类比是对公司总机/接待的呼叫,即使呼叫处于等待应答状态,您也可能会感到非常幸运,并在一个呼叫结束和另一个呼叫处于等待状态之间响铃。

如果我有这个错误,请通过评论告诉我,我会解决/我的答案。