gpt4 book ai didi

Java : ReentrantReadWriteLock with priority

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:22:24 27 4
gpt4 key购买 nike

下面是典型的读写模式(读多写少)

  private ReadWriteLock lock = new ReentrantReadWriteLock();
private int value;

public void writeValue(int newValue){
lock.writeLock().lock();
try{
this.value = newValue;
}
finally{
lock.writeLock().unlock();
}
}

public int readValue(){
lock.readLock().lock();
try{
return value;
}
finally{
lock.writeLock().unlock();
}
}

我想知道是否可以优先于 writer 和 reader ?例如,如果其他线程不断持有读取锁,通常 writer 可能会等待很长时间(可能永远),那么是否有可能让 writer 具有更高的优先级,因此每当 writer 来时,它都可以被认为是高优先级(跳过行)之类的东西。

最佳答案

根据javadoc , jdk 实现有任何读/写优先级。然而,如果您使用“公平”实现,那么锁以先进先出的顺序授予(仍然没有读者/作者偏好),所以至少 future 的读者不会阻止等待的作者。

关于Java : ReentrantReadWriteLock with priority,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11924942/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com