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

时间:2016-07-04 14:48:46

标签: android arrays bytebuffer consumer producer

我目前正在使用ByteBuffer,其中生产者提供了要存储的字节数组。我有一个线程,不断查看ByteBuffer,搜索一个字节序列(一个开始代码),以确定我是否有完整的消息。如果我找到一个完整的消息,我将提取字节数组并向各种侦听器发出一个事件。这是生产者以块的形式向我发送数据的方式。

我必须做很多旋转才能使ByteBuffer线程安全,而且这看起来并不优雅。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

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