当一个线程已经获取锁时,多个线程尝试获取同步锁。 我的理解是,锁将按照获取锁请求的顺序给出。
但根据 O'Reilly 的书,将给出最适合平台的 Java 线程锁。这是非常抽象的说法。我认为这里的平台主要指的是操作系统。 我的问题是,JVM 决定什么最适合平台的标准是什么,以及开发人员如何考虑它 正在编程?
更新:-我知道我可以使用具有公平性参数的 Lock 对象。但只是想知道同步锁是如何工作的?
最佳答案
同步
获取遵循非公平
锁定策略。也就是说,在阻塞时首先进入的线程可能不是最先获取的。如果您想要公平
锁,请使用new ReentrantLock(true)
关于java - 多线程请求时同步锁授予顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22101371/