2
我使用netty 4.10beta6。在netty中,是否可以將彙集的ByteBuf傳遞給另一個線程?
在信道A,I通過重寫channelRead()
(其使用由默認彙集BUF分配器)讀取ByteBuf
,通過它傳遞給channelB.write(buf)
,其中信道B的事件循環是在不同的線程消耗&釋放在信道B中的buf中。這個可以嗎?
我問,因爲我部分讀取PooledByteBufAllocator
的來源,它使用線程本地緩存,似乎不假設跨線程工作。
我做了小測試,它工作正常,要確保它是否持續長時間運行。
嗨,@Norman Maurer,在我的情況下,我從當前線程傳遞由共享池分配器創建的內容填充的bytebuf,然後在另一個線程中讀取/關閉bytebuf。 netty有時會拋出異常:'io.netty.util.IllegalReferenceCountException:refCnt:0'。這意味着池分配器給我一個已經釋放的bytebuf。我怎樣才能解決這個問題? – bob