有谁知道两个锁定结构中哪个更快?
我有:

private static final Object mutex = new Object();

void method() {
    synchronized(mutex) {
        // code
    }
}


vs:

BoundedSemaphore semaphore = new BoundedSemaphore(1);

void method() {
    semaphore.take();

    try{
        //code
    } finally {
        semaphore.release();
    }
}


谢谢大家。
马特

最佳答案

实际上,它们的性能是等效的。您的示例中的BoundedSemaphore实际上使用与第一个示例类似的内在锁定。因此,它们不会发生明显变化。

09-04 08:02