Ниже приведен типичный шаблон чтения и записи (много операций чтения и мало операций записи)
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();
}
}
Мне интересно, возможно ли иметь приоритет для писателя и читателя? Например, обычно модуль записи может ждать очень долго (, может быть, вечность ), если есть постоянные блокировки чтения, удерживаемые другим потоком, поэтому возможно ли иметь модуль записи с более высоким приоритетом, поэтому всякий раз, когда появляется модуль записи, его можно рассматривать так как это имеет высокий приоритет (пропустить строку )что-то в этом роде.