我刚刚发现它只有一个NIO工具,Java NIO Pipe,用于在线程之间传递数据.使用此机制是否优于通过队列传递的更传统的消息,例如ArrayBlockingQueue?
通常,为另一个线程传递数据的最简单方法是使用ExecutorService.这包括队列和线程池(可以有一个线程)
当您拥有支持NIO通道的库时,可以使用管道.如果要在线程之间传递ByteBuffers数据,这也很有用.
否则它通常简单/快速地使用ArrayBlockingQueue.
如果你想在线程之间更快地交换数据,我建议你看一下Exchanger,但它不像ArrayBlockingQueue那样通用.
| 归档时间: |
|
| 查看次数: |
7666 次 |
| 最近记录: |