假设我们有共同的 Serial 并且我们正在监听传入的字节。假设写入速度超过读取速度,为了不从串行中丢失字节,我们引入缓冲区并执行下一步。串行侦听器只是将字节放入缓冲区(缓冲区写入线程)和缓冲区读取器以从缓冲区(缓冲区读取线程)中提取字节并分析数据。
在从串行和ConcurrentLinkedQueue<Integer>
原始之间切换时,考虑到装箱和拆箱,使用 java 1.5 的效率如何?int incomingByte
Queue<Integer>
限制:
- 没有缓冲区大小限制
我知道经常int[] buffer[BUFFER_SIZE]
使用固定大小的缓冲区,但我不想有缓冲区限制限制。
- 线程安全
最好有开箱即用的线程安全,并且不要使用阻塞缓冲区或 smth 手动同步线程。