#java #java-11
#java #java-11
Вопрос:
Мне нужен буфер, основанный на времени, а не массив байтов.
У меня есть поток данных, потребляемых из сетевого сокета; мне нужно буферизировать этот поток каждые 5 секунд.
-----------------
Input Stream --->| 5 second buffer |--> Process data
-----------------
Примечание: этот буфер необходимо очистить после обработки данных.
В Java 11 есть какая-либо реализация этого типа буфера?
я ищу в Google, но не могу найти решение.
Спасибо
Комментарии:
1. Если вы знаете максимальную пропускную способность вашего входного потока, создайте буфер в памяти для хранения максимального объема данных, который можно было бы обработать за 5 секунд, и просто сохраняйте временные метки каждого раза, когда вы очищаете пустой буфер, сбрасывая его для обработки. У вас также может быть двойной буфер (вместо сброса), который заполняется во время обработки другого, и вы можете сэкономить много байтов при копировании.
2. Вы пытаетесь передавать аудио / видео в потоковом режиме и убедиться, что в любой момент времени для обработки доступен контент продолжительностью не менее 5 секунд? Или вам просто нужен буфер для чтения в течение 5 секунд (емкость буфера будет варьироваться)?
3. нет, этот поток не является аудио / видео, мне просто нужно транслировать каждые 5 секунд.