Android 管理生产者-消费者字节数组的最佳集合

Android 管理生产者-消费者字节数组的最佳集合,android,arrays,bytebuffer,consumer,producer,Android,Arrays,Bytebuffer,Consumer,Producer,我目前使用的是ByteBuffer,生产者提供了一个字节数组来存储。我有一个线程,它不断地通过ByteBuffer搜索字节序列(开始代码),以确定是否有完整的消息。如果我找到一条完整的消息,我将提取字节数组并向各个侦听器触发一个事件。这是制作人向我发送数据的方式,分块发送 我必须做很多旋转来保证ByteBuffer线程的安全,这看起来一点也不优雅 有更好的方法吗?我建议你。它来自java.util.concurrentpackage,意思是可以从不同的线程安全地访问。它只是一个FIFO实现。 将

我目前使用的是ByteBuffer,生产者提供了一个字节数组来存储。我有一个线程,它不断地通过ByteBuffer搜索字节序列(开始代码),以确定是否有完整的消息。如果我找到一条完整的消息,我将提取字节数组并向各个侦听器触发一个事件。这是制作人向我发送数据的方式,分块发送

我必须做很多旋转来保证ByteBuffer线程的安全,这看起来一点也不优雅

有更好的方法吗?

我建议你。它来自
java.util.concurrent
package,意思是可以从不同的线程安全地访问。它只是一个FIFO实现。 将您的字节放入此集合中,并在不同的线程中等待它们。

我建议您。它来自
java.util.concurrent
package,意思是可以从不同的线程安全地访问。它只是一个FIFO实现。
将您的字节放入此集合中,并在不同的线程中等待它们。

如何在阻止队列中存储单个字节?如果我将每个字节数组存储为一个新对象,这将使消息片段之间的解析变得非常困难。如何在BlockingQueue中存储单个字节?如果我将每个字节数组存储为一个新对象,这将使消息片段之间的解析变得非常困难。