ByteBuffer, что является очевидным способом, чтобы обнаружить, если это должно быть зеркально отражено

Существует книга, названная Код . Я не могу помнить, кто записал его, но это проходит основы большого количества материала, который мы (программисты) знаем и берем для предоставленного, который людей мы говорим для знания также. Все от того, как Вы считаете двоичный файл к тому, как процессоры работают. Это не имеет ничего имеющего дело с языками программирования в нем (хорошо от того, что я помню), но это - довольно хорошая краткая информация. Я признаю, что имею также школу, которая полагает, что необходимо знать, как компьютер работает, чтобы быть в состоянии эффективно программировать вещи для нее.

5
задан JeffV 26 November 2009 в 01:52
поделиться

2 ответа

Инкапсулируйте его в объект - примерно так:

class FlippingByteBuffer {
  ByteBuffer buffer;
  boolean isInUse;
  boolean/Enum mode; //Is it read or write?
}

Затем вы можете использовать его в своем коде:

//I'm about to read
FlippingByteBuffer fbb =...;
fbb.beginReading();
doSomething(fbb.getByteBuffer());
fbb.finishReading();

Таким образом вы узнаете, когда что-то происходит. Вы даже можете начать использовать Lock , чтобы гарантировать, что чтение и запись блокируют друг друга и т. Д.

Если есть что-то посередине (вы вызываете что-то, и он вам перезванивает), вы Вы можете поместить свой FlippingByteBuffer на карту и / или поместить его в ThreadLocal (ewww!), или сделать FlippingByteBuffer реализацией ByteBuffer . может иметь возможность автоматически переключаться между режимами (используя методы чтения и записи) в зависимости от того, что вы делаете.

6
ответ дан 14 December 2019 в 04:40
поделиться

Как насчет того, чтобы обернуть ByteBuffer в другой класс? Этот класс может обновлять и поддерживать желаемое состояние всякий раз, когда вы выполняете операции чтения или записи. Вы также можете захотеть реализовать блокировку или какой-либо другой механизм, чтобы сделать его поточно-ориентированным.

2
ответ дан 14 December 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: