У меня есть класс с именем «Channel», в котором определены два метода:
class Channel {
void read(){...}
void write(){...}
}
Существует экземпляр этого класса, используемый в многопоточной среде.Несколько потоков периодически читают из канала, в то время как один поток периодически пишет в него.Операция чтения является поточно-ориентированной, поэтому можно выполнять несколько операций чтения одновременно.Однако после начала операции записи потоки чтения должны быть заблокированы до завершения операции записи.Очень важно максимально быстро выполнять операции чтения и избегать ресурсоемких процедур синхронизации.
Каков наиболее подходящий шаблон для реализации такого поведения?Может быть, Java-классы или библиотеки, чтобы помочь?