Optionen, um Javas ByteBuffer-Thread sicher zu machen

Welche Möglichkeiten habe ich, um einen ByteBuffer-Thread sicher zu machen? Es ist bekannt, dass es nicht threadsicher ist, da es Position, Limit und einige (/ all?) Methoden von diesem internen Status abhängig macht.

Für meine Zwecke ist es ausreichend, wenn mehrere Lesethreads sicher sind, aber für andere zukünftige Besucher möchte ich wissen, welche Techniken / Tricks / Traps ich wissen muss, um sie vollständig threadsicher zu machen.

Was ich vorhabe:

Synchronisieren oder Verwenden von ReadWrite-Sperren für alle Methoden. Wahrscheinlich der langsamste Ansatz (?)Subklassifizierung von ByteBuffer und Vermeidung von dauerhaften Thread-gebundenen Zuständen wie Position usw. und entsprechende Ausnahmebedingung für alle Methoden, die den internen Zustand verwenden müssen. Das wäre das Fasten. Aber gibt es irgendwelche Fallen? (außer dass ich den direkt zugeordneten Speicher in den Heap-Speicher lesen muss ...)

Welche anderen Tricks könnte ich verwenden? Wie würde ich z. Implementiere ein "Clone Bytes on Read" mit DirectBuffer - ist das überhaupt möglich? Würde wahrscheinlich das Aufteilen des gesamten ByteBuffers (ByteBuffer.slice) in eine Lösung involviert sein?

Aktualisieren: Was ist damit gemeintFrage mit"duplizieren (während synchronisiert), um eine neue Instanz zu erhalten, die auf die gleichen zugeordneten Bytes zeigt"

Antworten auf die Frage(1)

Ihre Antwort auf die Frage