Java NIO管道与BlockingQueue

前端之家收集整理的这篇文章主要介绍了Java NIO管道与BlockingQueue前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚发现,只有一个NIO工具,Java NIO管道是为线程之间传递数据而设计的.对于传递队列的传统邮件,例如ArrayBlockingQueue,是否有使用这种机制的优点?

解决方法

通常,将另一个线程传递数据的最简单的方法是使用ExecutorService.这包装队列和线程池(可以有一个线程)

当您有一个支持NIO通道的库时,可以使用管道.如果要在线程之间传递数据的ByteBuffers,也很有用.

否则它通常使用ArrayBlockingQueue简单/更快.

如果您想要更快的方式在线程之间交换数据,我建议您查看Exchanger,但它并不像ArrayBlockingQueue那样通用.

The Exchanger and GC-less Java

猜你在找的Java相关文章