2013-12-25 2 views
0

Что я ищу своего рода динамической буферизации, которую я пытаюсь объяснить:Динамический буфер в Java

Должна быть возможность добавить некоторые значения в конце буфера. И пока он добавляет значения в конец буфера, я должен иметь возможность получить некоторые значения с начала буфера.

Так как это в псевдокоде:

ThreadA 
while(true): 
    buffer.pushToEnd(random); 

ThreadB 
while(true): 
    buffer.popFromBeginning(); 

Так значение я выскакиваю должно быть удалены из буфера. Я смотрю по всему Интернету и обнаруживаю различные типы буферов, но ни один из них не способен так поступать.

Так что мой вопрос: есть ли какая-то собственная реализация Java-буфера этого буфера? Или какой-то пример кода реализации?

ответ

3

Опишите структуру данных FIFOqueue.

Java does include такой класс контейнера именно с теми методами, которые вы хотите. Также взгляните на нитебезопасный вариант ConcurrentLinkedQueue.

Кроме того, что вы хотите сделать, очень похоже на producer-consumer problem. Связанная с Википеей страница может быть хорошей отправной точкой для ее решения.

1

Вы должны использовать контейнер данных FIFO Java Queue A. Первое, что вы добавили в контейнер, - это то, что вы выскакиваете. Первым прибыл, первым обслужен.

 Смежные вопросы

  • Нет связанных вопросов^_^