在netty中,将池化的ByteBuf传递给另一个线程是否可以?

时间:2015-09-12 22:19:03

标签: java multithreading netty

我使用的是netty 4.10beta6。

在通道A中,我通过覆盖ByteBuf(默认情况下使用池化的buf分配器)读取channelRead(),通过将其传递给channelB.write(buf)来消耗和释放通道B中的buf。 ,其中频道B的事件循环在不同的线程中。这样好吗?

我问,因为我部分阅读了PooledByteBufAllocator的来源,它使用线程本地缓存,似乎不应该跨线程工作。

我做了一些小测试,它运行良好,想确定它是否会持续很长时间。

1 个答案:

答案 0 :(得分:1)

是的,只要你不同时调用read / write / set / get等方法,就可以在线程之间传递。