1

嘿嘿,

ByteBuffers以及 netty 的ByteBuff使用索引来存储它们当前“在”的位置。在我的应用程序开始时,我在ByteBuffers/ByteBuffs中加载多个文件,以便稍后从中读取。加载后字节缓冲区也是不可变的。我现在的问题是多个客户端应该能够从这些字节缓冲区中读取,但是因为它们使用相同的读取器/写入器索引,所以它不起作用。是否有一种简单的方法可以维护每个线程的索引?netty 是否有一些“工具”来实现这一目标?

我已经读过 nio ByteBuffers 不支持多线程,但是如果您从它们中读取,这也是真的吗?

基本上我只是在寻找一种发送数据的方法,它存储在内存中,通过网络非常快。

4

1 回答 1

5

您可以在每个新线程的 ByteBuf 上调用重复并使用返回的 ByteBuf。这些将共享相同的内容,但不同的索引。

ByteBuf duplicate = ByteBuf.duplicate();
于 2013-11-06T06:16:16.767 回答