当赚更多的公平使用锁,而不是声明同步功能 防止在java中饿死也不能实例锁类型无法实例锁的类型
做到这一点需要实现FairLock像http://tutorials.jenkov.com/java-concurrency/starvation-and-fairness.html 做java的锁等于FairLock以上?它说FairLock会降低性能,会是什么在现实实践中
Lock lock = new Lock();
Q
无法实例锁的类型
1
A
回答
3
你可能会试图实例化一个java.util.concurrent.locks.Lock,这是一个接口。这当然不会起作用。你会想实例化一个实现,比如ReentrantLock,这是在简单的监视器锁不充分的情况下做Java中“灵活”锁定的标准方式。它的文档有一些关于公平性的说法:
此类的构造函数接受可选的公平性参数。当设置为true时,在争用中,锁有利于授予对最长等待线程的访问权限。否则,该锁不保证任何特定的访问顺序。使用许多线程访问的公平锁的程序可能会比使用默认设置的整体吞吐量低(即速度较慢;通常速度较慢),但获得锁的时间差异较小,并且可以保证缺少饥饿。但请注意,锁的公平性并不能保证线程调度的公平性。因此,使用公平锁的许多线程中的一个可以连续多次获得它,而其他活动线程不在进行中并且当前没有锁。另请注意,不定时的tryLock方法不符合公平性设置。即使其他线程在等待,锁也可用。
相关问题
- 1. “无法实例的类型......”
- 2. “无法实例的类型......”
- 3. 无法实例类型
- 4. JSF1006:无法实例类型
- 5. 无法实例类型View.OnClickListener
- 6. 无法实例类型MyWebViewClient
- 7. 无法实例类型父
- 8. 无法实例类型rankup
- 9. 无法实例类型的实例在Java中的Weka类
- 10. 无法实例实现类型
- 11. 无法实例与普通类类型
- 12. 无法实例类型的ObjectFactory
- 13. 无法实例类型的HttpConnection
- 14. 无法激活类型的实例NavigationPageRenderer
- 15. 无法实例化类型ExpandableListAdapter
- 16. LogStash - 无法实例化类型net.logstash.logback.appender.LogstashTcpSocketAppender
- 17. 无法实例化类型FirefoxDriver
- 18. 无法实例化CleverSearchTimer类型?
- 19. Slick2d无法实例化类型游戏?
- 20. 无法实例化类型矩形
- 21. 无法实例化类型Twitter
- 22. ExpandableListAdapter - 无法实例化类型ExpandableListAdapter
- 23. PyXB:无法实例化抽象类型
- 24. 无法实例化WebDriver类型
- 25. 无法实例化类型Chessboard.Type
- 26. Java:无法实例化Foo类型
- 27. 无法实例化类型Image java?
- 28. 无法实例化类型PopupMenu.OnMenuItemClickListener
- 29. 无法实例化类型GeoPoint Android
- 30. Android Parcelable无法实例化类型
如何做到线程调度的公平性? –
@Martin Lee:这是操作系统的工作。 JVM使用操作系统本机线程。除了使用一个好的操作系统并且对所有线程使用相同的优先级('Thread.setPriority(int)'),你不能做任何事情,最简单的做法就是不改变默认值。 –