我真的很困惑为什么java需要这个功能。当公平模式可以与 ex: 一起使用时,请分享一些真实的例子:ReentrantLock, ReadWriteLock, Semaphore
.
问问题
346 次
1 回答
1
当您遇到需要更好地表示秩序的情况时,公平性很有用。
我使用公平锁的情况是在日志队列中(不,我不能使用 log4j 或其他),并且我想要并发,同时仍然设法以类似于到达顺序的顺序记录输出在。
我本可以使用并发队列,但是还有其他因素在起作用,并且锁定线程级别比拥有一个队列要好,因为在队列中线程可能会在再次轮到它们之前添加多个值。这很复杂……但是,添加一个公平的锁可以让物品以有代表性的顺序通过。
事实上,将公平锁视为线程的一个到达顺序队列是很有用的,线程不能只是放弃它们的负载并离开并像并发队列那样做其他事情。在这里,您将线程排队,而不是工作负载。
请注意,不能保证顺序,但在大多数情况下,顺序与此没有区别。
于 2014-10-19T21:51:24.920 回答